【问题标题】:Mapping POST data to objects via Stripes通过 Stripes 将 POST 数据映射到对象
【发布时间】:2013-01-17 16:05:32
【问题描述】:

我一直像疯子一样在谷歌上搜索,试图弄清楚这一点。

所以我通常会看到 JSP 页面的表单值的名称如下:

<input name="${object.member}" type="text" />

映射到 ActionBean 上的“对象”变量。在我正在查看的一些代码中,它变得更加深入

${object.memberMap[key].member}

所以大概,当您提交表单时,您可以让它自动将这些值映射到 Java 对象,对吧?然而,这不是我所看到的,但我相当肯定其他代码会利用

我的问题是:有没有办法手动触发这种 POST 数据从表单到 ActionBean 上的对象值的自动映射?

【问题讨论】:

  • 在使用 Java EE MVC 框架时通常会看到此代码,例如 JSFSpring MVCStruts2 等。您是否使用其中任何一个?如果没有,您将不得不选择并使用一个。那么这个问题对于 SO 来说不够建设性。
  • 是的,我相信我正在使用类似于 Struts 的 Stripes。
  • 你应该重新标记问题。
  • 谢谢...我想部分问题是我不知道要问的正确问题!
  • 输入应该看起来像&lt;input name=object.member&gt; - 你不想要那个属性的,你想使用名称以便它被条纹绑定当您发布表单时。

标签: java forms jsp stripes


【解决方案1】:

如果要将action类的变量映射到jsp变量,需要创建对象的getter和setter方法,并使用&lt;s:text&gt;而不是&lt;input type="text"&gt;,例如

In Jsp
<s:text name="user.email"></s:text>

In java class

private User user;
public User getUser() {
    return user;
}
public void setUser(User user) {
    this.user = user;
}

And inside User class

private String email;
public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

【讨论】:

    猜你喜欢
    • 2019-11-21
    • 2011-04-24
    • 2014-08-05
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多