配列のプロパティを利用する方法

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に定義した値がループ変数となるので、これを利用してテキストボックスなどを表示する。

以上。

この方法だと必ずスクリプトレット使わないといけないので、
もっとスマートなやり方があると思うんだけどわかてません。