使用Spring MVC的JakartaVelocity 1.7表单提交,在控制器中获取空值

时间:2014-11-07 09:09:16

标签: java spring forms spring-mvc velocity

我正在从速度生成表单并将表单值提交给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' 你能在我做错的地方帮忙吗?谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

添加commandName =“test”。它像:

<form method="POST" action="/testform" commandName ="test">

答案 1 :(得分:0)

您好,您必须为其添加命令名称,如

<form method="POST" commandname="test" action="/testform"> 

我认为你错过了ReadTest.java中的解决方案。请添加setter并检查一次。 有关示例代码,请参阅此link