配列のプロパティを利用する方法
ActionFormで配列のプロパティを定義した場合、
StrutsタグでJSPに表示する方法が今までよくわかってなかったのでここでまとめ。
ActionFormに配列のプロパティを定義する
public class TestForm extends ActionForm {
private String testArray = new String[5];
public String getTestArray() {
return testArray;
}
public void setTestArray(String[] testArray) {
this.testArray = testArray;
}
配列を生成しておくことがポイント。
Strutsタグを利用しJSPへ表示する
<logic:iterate id="ite" name="TestForm" property="testArray" indexId="idx" > <html:text property='<%= "testArray[" + idx + "]" %>' /> </logic:iterate>
iterateタグを利用する。ポイントは以下の通り
- idは何でもいい。必須だが利用しないので。
- nameは配列を定義しているActionFormの名前を定義
- propertyには配列のプロパティ名を定義
- indexIdは任意文字列
indexIdに定義した値がループ変数となるので、これを利用してテキストボックスなどを表示する。
以上。
この方法だと必ずスクリプトレット使わないといけないので、
もっとスマートなやり方があると思うんだけどわかてません。