jsp - Struts 2 中的 Map-backed Actionform 替代方案

标签 jsp struts2 ognl

在 Struts 1 中,我使用了 map-backed action form获取动态字段值。

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>

行动
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";
    }
}

表格
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 中实现相同的功能?

最佳答案

您可以将 map 直接放入操作类,并在 JSP 中使用 Struts2 标签提交/获取值。

行动

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>

关于jsp - Struts 2 中的 Map-backed Actionform 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17698456/

相关文章:

java - 如何避免 actionMessages/actionError 生成 ul li 标签?

java - 将值从操作发送到未从操作重定向的 jsp

java - 如何将堆栈跟踪打印到页面?

java - JSP 未运行

file-upload - 如何使用自定义struts.multipart.parser

mysql - 如何从 datetimepicker 接收日期并将其保存到数据库中?

java - HTTP 状态 404 -/elecMaven/system/actingIndex.jsp,但我的配置是正确的

eclipse - 我如何在 eclipse 中使用 subclipse 插件来修改文件然后在 tomcat 中运行

java - JSP简单插入无法在类中运行

java - 如何在不使用 ModelDriven 的情况下从 JSP 填充 POJO