Struts2使用s:select标记在表单提交时填充bean的多个属性
我有一个select标记,它填充ClientBean对象列表。ClientBean对象有两个属性clientId和clientName。我已将“倍数”设置为“真”,以便可以选择“倍数”选项。下面是我的选择标签Struts2使用s:select标记在表单提交时填充bean的多个属性,select,struts2,form-submit,Select,Struts2,Form Submit,我有一个select标记,它填充ClientBean对象列表。ClientBean对象有两个属性clientId和clientName。我已将“倍数”设置为“真”,以便可以选择“倍数”选项。下面是我的选择标签 <s:select name="clientBeans.clientId" id="clientBeansItr" multiple="true" list="clientBeans" listKey="clientId" listValue="clientName
<s:select name="clientBeans.clientId" id="clientBeansItr" multiple="true"
list="clientBeans" listKey="clientId" listValue="clientName"
value="%{selectedClients}" />
上面的选择框在下拉列表中正确显示所有客户端和选定客户端。selectedClients是一个整数列表,表示已选定客户端的CLEINTID。现在,当我提交包含这个select标记ProjectBean类的表单时,它是表单提交时调用的操作的模型,正确地将所选客户机的数量放入ClientBean列表中,并为每个ClientBean对象设置clientId属性。但是,我希望在提交表单时设置clientName属性以及clientId属性。如何做到这一点?PFB ProjectBean和ClientBean类的附加代码
class ProjectBean{
....
private List<ClientBean> clientBeans;
...has its getters and setters...
}
class ClientBean{
private Integer clientId;
private String clientName;
.....
getters and setters
......
}
类ProjectBean{
....
私有列表clientbean;
…有它的接受者和接受者。。。
}
类ClientBean{
私有整数clientId;
私有字符串clientName;
.....
接球手和接球手
......
}
这就是html选择标记的工作原理。将id传递给操作,并在操作类中通过该id获取客户端。此外,本文的标题与所问问题无关。@AleksandrM Ok。所以没有办法自动填充bean的多个属性吗?当然有办法。例如,使用js设置一些隐藏字段或其他内容。但这不是最佳实践,没有干净的方法。如果您已经有一个客户机列表,您可以缓存它,并在提交后按id获取客户机。