ページで同じドロップダウン リストを複数回使用できるようにする必要があります。選択タグで「リスト」を初めて使用すると、正常に機能します。同じリストは、私が使用する2番目の選択タグには入力されません。詳細はこちら。
アクション クラスでは、select タグを設定するために必要な値を含む ArrayList を設定します。
setNames(new SomeDAO().getNames());
JSP で
<s:select list="names"
id="nameList"
listKey="nameId"
listValue="userName"
/>
この選択リストは問題なく入力されます。同じページで (同じリストを使用して) 次の選択タグを使用すると、印刷に失敗します。
<s:select list="names"
id="rName"
listKey="nameId"
listValue="userName" />
上記の「リスト」を #{'test':'test'} (ハードコードされたリスト) に置き換えると、タグが正常に表示されます。アクションで設定したプロパティが最初の使用後にクリアされているようです。それは何が起こっているのですか、それとも私は何か間違ったことをしていますか? 「IllegalStateException: 応答は既にコミットされています」というエラーが表示される
編集 1: setNames() は、JSP ページを処理するアクション メソッドで使用されます。シンプルなゲッター関数です。JSPでは、これが私が持っているものです。
<tr>
<td align="left" class="td-plain">Add New:</td>
<td class="td-plain">
<s:select list="names"
id="addNameID"
name="addUserNameID"
listKey="reinsId"
listValue="reinsName"
headerKey=""
headerValue="--User Name--"
/>
</td>
<td class="td-plain"><input id="addTreatyNumber" type="text" /></td>
<td class="td-plain"><input id="addReinsPercentage" type="text" /></td>
<td class="td-plain"><input id="addFlatDollarRetentionAmt" type="text" /></td>
<td class="td-plain">
<%if(finance){ %>
<input type="button" class="greyButton" value="Add" onclick="addReinsInfo()"/>
<%}else{ %>
None
<%} %>
</td>
</tr>
そして後でそのページの下に、私は持っています
<tr id='<s:property value="caseGroupId"/>:<s:property value="treatyId"/>'>
<td class="td-plain"><input type='checkbox' id='<s:property value="caseGroupId"/>:<s:property value="treatyId"/>'/></td>
<td class="td-plain">
<s:select list="names"
id="rName"
name="dName"
listKey="reinsId"
listValue="reinsName"
headerKey=""
headerValue="--User Name--"
/>
</td>
<td class="td-plain_"><s:textfield id="tNumber" value="%{treatyNumber}"/></td>
<td class="td-plain_"><s:textfield id="tPercentage" value="%{reinspercentage}"/></td>
<td class="td-plain_"><s:textfield id="rAmount" value="%{flatDollarRetentionAmt}"/></td>
<td class="td-plain"><input type="button" value="Delete" class="greyButton"/></td>
</tr>
2 番目のタグの「リスト」を
list="#{'Test':'Test'}"
タグは問題なく表示されます。さらに情報を提供できるかどうか教えてください。
編集2:ドロップダウンリストの値をセッションに設定することで、これを機能させることができました。