我正在从速度生成表单并将表单值提交给spring控制器。在弹簧控制器中我得到“空”值。
表单:test.vm,使用@RequestMapping / testform使用post方法提交调用控制器
<html>
<body>
<form method="POST" action="/testform">
Select testtype:
<select name="test">
<option value="test1">test1</option>
<option value="test2">test2</option>
</select>
<p>
<input type="submit" value ="submit">
</form>
</body>
</html>
Controller code:
@RequestMapping(value = "/testform", method = RequestMethod.POST)
public ModelAndView addtest(@ModelAttribute("test")ReadTest test, BindingResult result) {
System.out.println("in test controller");
System.out.println("test:" + test.gettest());
return new ModelAndView("test");
}
ReadTest.java是带有getter的java类。
public class ReadTest {
public String test;
public String gettest() {
return test;
} }
提交表单值后,test.gettest()在控制器中返回'null' 你能在我做错的地方帮忙吗?谢谢你的帮助。
答案 0 :(得分:0)
添加commandName =“test”。它像:
<form method="POST" action="/testform" commandName ="test">
答案 1 :(得分:0)
您好,您必须为其添加命令名称,如
<form method="POST" commandname="test" action="/testform">
我认为你错过了ReadTest.java中的解决方案。请添加setter并检查一次。 有关示例代码,请参阅此link。