我一直在使用@ModelAttribute将我的表单变量“强制转换”为一个类(表示数据库中的表),这非常有用。
但是我正在处理另一种形式,我需要在表单中有一个不代表数据库中数据的隐藏字段。我只是将它传递给我的代码的业务逻辑部分。
如何在我的函数中访问此隐藏字段?我不想编辑我的表类来添加这个新字段,因为这看起来很糟糕。而且我知道我可以创建一个新类,它只包含我表单中的所有字段,但我不确定这是否是最好的方法。
谢谢! :)
这些是我现在所拥有的(只有表格字段,但有效)。
我的jsp页面
<form:form modelAttribute="fab" method="post" action="SaveEventRegistration.html">
我接受表单提交的java代码
@RequestMapping("/SaveEventRegistration")
public ModelAndView saveEventRegistration(@ModelAttribute Fab fab) {
System.out.println(fab.getStudentId());
答案 0 :(得分:1)
您无需更改表及其pojo。要获取在ModelAttribute对象中无法绑定的隐藏字段值,您只需使用html输入标记在表单内的jsp中声明该隐藏字段,并使其隐藏为所需值。
现在在控制器功能中,您需要有一个参数HttpServletRequest request
,并使用request.getParameter("hdParam")
获取隐藏字段的值,名称为 hdParam 。
我希望这会对你有所帮助。欢呼声。