Struts2 如何在多个s:select上设置名称参数
假设您有以下场景:Struts2 如何在多个s:select上设置名称参数,struts2,Struts2,假设您有以下场景: 操作中的属性:私有实体 实体有一个列表entity2List Entity2有一个Entity3 Entity3 现在,您需要一个带有multiple=“true”的来填充entity3。这对应于请求的格式为entity.entity2List[n].entity3.id(n=0,1,2…取决于选择的项目数量) 问题:在JSP中,s:select的“name”参数应该是什么来实现这一点? 我尝试了以下操作但未成功(表示entity.entity2List已为空): 我认为
- 操作中的属性:
私有实体代码>
- 实体有一个
列表entity2List
- Entity2有一个
Entity3 Entity3
来填充entity3。这对应于请求的格式为entity.entity2List[n].entity3.id
(n=0,1,2…取决于选择的项目数量)
问题:在JSP中,s:select的“name”参数应该是什么来实现这一点?
我尝试了以下操作但未成功(表示entity.entity2List已为空):
我认为您应该实现自定义struts类型转换器。名称属性应写为entity.entity2List。实现转换器以将值转换为entity2类型对象(该对象又包含entity3)。使用索引属性将值设置为Entity3的id字段
<s:select multiple="true" name="%{entity.entity2List[].entity3.id}" list="#someList" listKey="id" listValue="code"/>
<s:select multiple="true" name="entity.entity2List[].entity3.id" list="#someList" listKey="id" listValue="code"/>