在Struts 1中,我使用了地图支持的行动形式获取动态字段值。
public MyForm extends ActionForm {
private final Map values = new HashMap();
public void setValue(String key, Object value) {
values.put(key, value);
}
public Object getValue(String key) {
return values.get(key);
}
}
下面是我使用过的代码。
JSP
<form action="/SaveAction.do">
<input type="text" name="value(dynamicNames)" value="some value">
</form>
Action
public class SaveAction extends ActionSupport implements ModelDriven<MyForm> {
private MyForm myForm = new MyForm();
@Override
public MyForm getModel() {
return myForm;
}
public void setMyForm(MyForm myForm){
this.myForm = myForm;
}
public MyForm getMyForm(){
return myForm;
}
public String execute(){
MyForm formData = getMyForm();//Here I am getting empty object.
return "SUCCESS";
}
}
Form
public MyForm {
private final Map values = new HashMap();
public void setValue(String key, Object value) {
values.put(key, value);
}
public Object getValue(String key) {
return values.get(key);
}
}
如何在Struts 2中实现相同的功能?
您可以将地图直接放入操作类,并在 JSP 中使用 Struts2 标签来提交/获取值。
Action
public class SaveAction extends ActionSupport {
private Map<String, Object> map;
public String execute(){
// do something with map
return SUCCESS;
}
// getter/setter for map
}
JSP
<s:form action="saveAction">
<s:textfield name="map['somekey']" />
<s:submit />
</s:form>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)