【发布时间】:2013-12-30 09:36:23
【问题描述】:
我是 Spring 新手,我正在尝试创建简单的表单示例,但遇到了问题
当我在控制器中点击提交并接收输入值并使其生效时:
@Valid Student student
我总是有空值...我尝试更改映射,阅读帖子 Spring MVC form input value is always null 但没有任何帮助:(
我的控制器:
@Controller
@RequestMapping({"/rejestracja"})
public class RejestracjaController {
@Autowired
private StudentService studentService;
@RequestMapping(method=RequestMethod.GET)
public String rejestracjaSetup (Model model) {
model.addAttribute("student",new Student());
return "rejestracjaPage";
}
@RequestMapping(method=RequestMethod.POST)
public String dodajStuenta (@Valid Student student, BindingResult bindingResult) {
System.out.println("------");
System.out.print(student.getFirstname());
System.out.print("=====");
System.out.print(student.getLastname());
System.out.print("=====");
System.out.print(student.getYearLevel());
System.out.print("=====");
if (bindingResult.hasErrors()) {
return "rejestracjaPage";
}
return "redirect:/list";
}
}
我的.jsp:
<form:form method="POST" commandName="student">
<table>
<tr>
<td>First name</td>
<td>
<form:input path="firstname"/>
<form:errors path="firstname"/>
</td>
</tr>
<tr>
<td>Last name</td>
<td>
<form:input path="lastname"/>
<form:errors path="lastname"/>
</td>
</tr>
<tr>
<td>yearLevel</td>
<td>
<form:input path="yearLevel"/>
<form:errors path="yearLevel"/>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Register"></td>
</tr>
</table>
</form:form>
和型号:
@Entity
public class Student {
@Id
@Column
@GeneratedValue(strategy = GenerationType.AUTO)
private int studentId;
@Column
@NotNull
@Size(min = 6)
private String firstname;
@Column
@Length(min=3, max=50, message="Example message1")
private String lastname;
@Column
@Min(value = 1, message = "Example message2")
private int yearLevel;
public Student() {
}
....
getters and setters
....
}
我做错了什么?
【问题讨论】:
-
你能用
dodajStuenta()控制器方法的输出更新你的问题吗? -
它真的看起来像
------null=====null=====null=====吗? -
是的,这看起来像“------null=====null=====null====="
-
你在 JSP 中声明了标签库吗?
-
你的类路径中有 hibernate-validator 吗?
标签: validation spring-mvc