反復された各行に対してjsplogic:iterate
を使用してリストを反復しています。dateOfDetectionという名前のフィールドにdatepickerを提供する必要があります。logic:iterate
参照用のコード:
<logic:iterate id="dbOject" name="fakeNotesListInSession" scope="session"
indexId="tableCounter">
<TR >
<TD> <html:text name="dbOject" property="dateOfDetection" readonly="true" size="10" ></html:text>
<img src="web/images/cal[2].gif" id="trigger<%=tableCounter.toString()%>" alt="Calendar"/>
<script type="text/javascript">
Calendar.setup({
inputField : "dateOfDetection",
ifFormat : "%d/%m/%Y",
button : "trigger<%=tableCounter.toString()%>"
});
</script></TD>
<TD> <html:text name="dbOject" property="fives" size = "5" ></html:text></TD>
<TD> <html:text name="dbOject" property="tens" size = "5" ></html:text></TD>
</TR>
</logic:iterate>
反復している行ごとに日付ピッカーが来ていますが、日付値を選択すると、最初の行のみに値が設定されます。その理由は、"Calendar.setup 関数内で inputField を "dateOfDetection" として指定したためです。これは、アクション フォーム内で String dateOfDetection[]=null; として定義されているため、アクション claas で配列として取得できます。