Struts2 标签问题
我在后台Action中有:
public class Test{
private List<Map< String,String>> list;
public void setList( List<Map< String,String>> list){
this.list=list;
}
public List<Map< String,String>> getList(){
return this.list;
}
}
在JSP页面有
<from ...>
<input >
<input >
<input>
</from>
以上是简化了的一个表单...项目中有点复杂
关键点是---怎么在form表单中把用户输入的值通过list传到后台Action中去
list中的map的作用是:我想通过键值对的方式,将用户输入的值一一对应起来
比如map的key就是input的name或者什么的...
请教高手这个怎么做啊...
------解决方案--------------------
看下struts2 showcase中的 action conversion吧。应该有点帮助。
例子中一般给的都是设置Element_[action属性名]=某一实体bean,你可以具体查看及测试下是否可以设置成为map.
比如针对你的代码一般是:
TestAction.class
List<TestBean> nTs ;
//set/get忽略
TestAction_conversion..properties
Element_nTs = com.test.TestBean; //这里你可测试下,看是否可以设置成你要的那种。
jsp:
<s:iterator values status='sta'>
<s:textfield name="%{'nTs ['+#stat.index+'].attrName'}" />
</s:iterator>
或者使用js动态生成输入框。
------解决方案--------------------
我用的是struts1,我只做过这种情况的,就是action中是List<对象>details,而页面上处理比如
<html:hidden property="details[${i}].salaryStandardId" value="${g.salaryStandardId}"/>