Struts2 Struts 2选择标记-在一个页面上多次使用标记(使用相同的列表)是不起作用的
我需要能够在一个页面上多次使用相同的下拉列表。我第一次使用select标记上的“列表”时,它工作得很好。相同的列表不会填充我使用的第二个select标记。详情如下 在action类中,我填充ArrayList,其中包含填充select标记所需的值Struts2 Struts 2选择标记-在一个页面上多次使用标记(使用相同的列表)是不起作用的,struts2,html-select,Struts2,Html Select,我需要能够在一个页面上多次使用相同的下拉列表。我第一次使用select标记上的“列表”时,它工作得很好。相同的列表不会填充我使用的第二个select标记。详情如下 在action类中,我填充ArrayList,其中包含填充select标记所需的值 setNames(new SomeDAO().getNames()); 在JSP中 <s:select list="names" id="nameList" listKey="nameId" listValue="userName"
setNames(new SomeDAO().getNames());
在JSP中
<s:select list="names"
id="nameList"
listKey="nameId"
listValue="userName"
/>
标签显示得很好。请让我知道,如果我可以提供任何进一步的信息
编辑2:我可以通过设置会话的下拉列表值来实现这一点。按照@Dave和@Quaternion的要求,发布相关的Java/JSP代码 但在那之前。。。我注意到您没有在Struts
Select
s中使用name
属性
虽然您可以多次从不同的标记引用同一个源(“代码>列表”属性),但要从相同的对象列表填充选择
,您应该为每个对象指定不同的名称
,以定义哪个变量(发送回操作)包含所选的值,其中选择
这可能不是当前问题的答案,但它很快就会出现在您面前。如果您不了解有关操作的更多信息,则该错误毫无意义。在操作中,您在哪里调用setNames(…)
?在getNames()
中,除了简单的getter功能之外,还有什么其他功能吗?还显示了整个JSP,以典型的struts2方式进行操作会使获取此类错误变得非常困难。您使用的是Scriptlet还是自定义结果类型?我添加了更多信息。
<s:select list="names"
id="rName"
listKey="nameId"
listValue="userName" />
<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>
list="#{'Test':'Test'}"