@RequestMapping(value="/add",method=RequestMethod.POST)
public String add(@Validated User user,BindingResult br,Model model){
//System.out.println("xxxxxxxxxxxxxxxxxx........................"+user.getUsername() +"," +user.getNickname());
log.debug("user add:"+user.getUsername() +"," +user.getNickname());
if(br.hasErrors()){
return "user/add";
}
users.put(user.getUsername(),user);
model.addAttribute("user",user);
return "redirect:list"; //演示1:客户端跳转,add 与list action同级。
}
package com.jxq.model;
import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;
public class User {
private String username;
private String userpass;
private String nickname;
private String email;
public User() {
// TODO Auto-generated constructor stub
}
@NotEmpty(message="用户名不能为空")
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@Size(min=6,message="密码不低于6位")
public String getUserpass() {
return userpass;
}
public void setUserpass(String userpass) {
this.userpass = userpass;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
@Email(message="邮箱格式不正确")
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public User(String username, String userpass, String nickname, String email) {
super();
this.username = username;
this.userpass = userpass;
this.nickname = nickname;
this.email = email;
}
}
<sf:form modelAttribute="user" method="POST">
username:<sf:input path="username" /><sf:errors path="username" /><br>
userpass:<sf:input path="userpass" /><sf:errors path="userpass" /><br>
nickname:<sf:input path="nickname" /><br>
email:<sf:input path="email" /><sf:errors path="email" /><br>
<input type="submit" value="保存用户" />
</sf:form>