【发布时间】:2014-02-19 08:41:43
【问题描述】:
我有一个包含 40 列的表和一个对应于该表的 bean。但在页面上我只显示 10 个字段。当页面被渲染时,通过调试,我可以看到 bean 被表中的所有字段填充,我正在使用 model.addAttribute("emp", emp) 将它添加到模型中。但是在更改页面上的某些字段后,当我再次提交页面时,我看到只有那些出现在页面上的字段被填充。尽管 bean 在“会话”范围内,但其余的不是。
我有一个在提交页面时调用的控制器。如下所示
@RequestMapping({"/update.html"})
public String updateData(@ModelAttribute("emp") Employee emp){
// All fields of Employee bean are not getting populated
}
我在 JSP 中写了类似下面的内容。
<jsp:useBean class="com.Employee" id="emp"
scope="request" />
注意:- 我也使用 scope="session" 进行了测试。
所以我的问题是,即使将 bean 放在 SESSION 范围内,为什么我没有在我的控制器中得到它。那么@ModelAttribute 是如何改变我的 bean 范围的吗??
【问题讨论】:
-
因为我也使用了 jQuery,所以同时我将所有这些字段放在 JSP 中,将它们隐藏起来,并且我的 bean 被我控制器中的所有字段填充。方法对了吗???
标签: java spring-mvc modelattribute