2008-04-01から1ヶ月間の記事一覧

s:actionによる呼び出し

Struts2で他のアクションを s:action で呼び出した場合、呼び出されたアクション側で元のValueStackは参照できるが、名前付き変数は参照できないようだ。名前付き変数とは <s:set name="namedParam" value="'test'"/> などとして名前をつけた変数の事を指している。では渡したい場合はどうするか?普通</s:set>…

s:actionによる他のアクションの実行3

Struts2で他のアクションを呼び出す方法として s:action によるものがあるが、この機能の便利なところは元々のアクションに渡されたパラメータが全て s:action で呼び出したアクションにもデフォルトで渡されるということだ。これで、呼び出すアクションに一…

s:actionによる他のアクションの実行2

Struts2のJSP中でs:actionにより他のアクションを実行し、ValueStackを参照可能だが、結果のresultは実行されていない。 実行するためには executeResult="true" とする、こうすると出力内容が取り込まれる。ただし、HTMLのヘッダータグなどを出力していると…

s:actionによる他のアクションの実行

Struts2のJSP中でs:actionタグを使用すると他のアクションを実行して、その結果のValueStackを参照したり結果の出力を取り込んだりすることが出来る。まずValueStackを参照する場合id属性で変数名を指定すれば、その変数経由で呼び出したアクションのValueSt…

s:componentでの部品

s:component でJSPやHTML出力の部品化を行うことが出来るが、部品の中でFORM要素を使用する場合 はフォーム要素のタグの属性で templateDir や theme をFORM要素のものに戻してあげないと出力がされないので注意が必要だ。templateDirやthemeをちゃんと指定…

s:componentで部品を呼び出す

s:componentで呼び出すときにparameterを渡すことが出来る。呼び出し元と同じValueStackが参照できるのでどれ位意味が有るか不明だが次のようにする。 <s:component templateDir="parts" theme="simple" template="sample.jsp"> <s:param name="firstName" value="'fooFirst'"/> <s:param name="lastName" value="'fooLast'"/> </s:component> としてsample.jsp側では <%@page contentType…

s:componentタグによるJSPの部品化

s:componentタグによってJSPを部品化する事がある程度できる。templateDirとthemeとtemplateで{templateDir}/{theme}/{template}のようなパスになるのでその場所にJSPを置いて呼び出せばいい例えば <s:component templateDir="parts" theme="simple" template="sample.jsp"/> こうした場合WebContents/parts/simple/sample.jspが呼び</s:component>…

DefaultWorkflowInterceptorのvalidation

DefaultWorkflowInterceptorは次の事を行う。 Validatable が実装されているアクションに対して validate() の呼び出し ValidationAware が実装されているアクションに対して、 hasErrors() によりエラーをチェックしエラーならActionを実行せずに戻りとして…

s:iteratorタグのstatus

Struts2での繰り返し処理のタグの s:iterator で属性status を指定すると、繰り返しの状態を取得できる。次のようにすると rs という変数が status になる <s:iterator value="listElements" status="rs"> statusは次のようなプロパティを参照できる 補足 例 index 何行目か 0からの数値 #rs.index count </s:iterator>…

s:includeについて

Struts2のカスタムTagに s:incldue というのがある。 こちらは s:component と違い、 s:param で指定されたValueStackにはアクセスできないようだ。 しかしこちらのページhttp://struts.apache.org/2.0.11.1/docs/include.htmlのExsampleにはparamで渡せるよ…