2007-10-01から1ヶ月間の記事一覧

Localeによるdispatch先の選択2

この記事のコードには問題があります。正しくは Localeによるリソース選択Interceptorの問題解消 - Struts 2+Spring 2+Tiles+Acegi+iBatis+GWT+JUnit 4+JMockit でフルスタックJAVAフレームワークを参照してください。 Localeの設定によって選択可能にはなっ…

struts.xml にはOGNL式が書ける。

例えばLocaleの設定によってResultで表示するファイル変えたりする事ができる。 <result>${ "/"+locale.getLanguage() +"/list.jsp" }</result> しかし、全部のresultをこんな風に書くと見た目が汚いので、テンプレートの置き換えが可能な新しいresultを作ったTemlateResult.j…

Struts2のInterceptorスタック

少しアクションを書いてみたが、Interceptorの呼び出し順に依存してしまうの何とかなんないか。アクション側では呼ばれたい順序を制御できないし。 struts.xmlのアクションで設定した変数によってアクションの振る舞いを調整して。。。なんて考えて試行錯誤…

Acegiとの連携2

こちらをベースにしたらもっとずっとスマートに出来たhttp://struts.apache.org/2.0.9/docs/can-we-use-acegi-security-with-the-framework.htmljp.co.hershe.struts2.acegi.AuthzInterceptor.java

認証されているユーザーの取得

<a:authentication operation="principal"/></a:authentication>

Acegiとの連携

filterは Acegi、 Struts2の順に適用する必要があるが、これだとAcegiのAccessDeniedExceptionがStrutsで処理できないなので、Struts2の Interceptor として実装したtutorial.AcegiSecurityFilter.java

投げられたパラメータを setXXX されたくない場合

Strut2で投げられたパラーメータのセッターが自動で呼ばれて便利なんだけど、セッターが無いパラメータがあるとログにメッセージが出る":" + 名前 とかにすると setXXXX が呼ばれなくなる 例) :del とかの名前をつけるとそれらのパラメータは setが呼ばれな…

s:paramのvalue値

<s:param name="id" value="xxx"> xxxは expressionなので普通の文字列を設定したい場合は <s:param name="id">xxx</s:param> とする。</s:param>