1. 程式人生 > >在業務控制方法中寫入包裝User的模型來收集參數

在業務控制方法中寫入包裝User的模型來收集參數

exceptio color 如果 int urn 時間 EDA std return

可以在業務控制方法中書寫0個或多個模型來收集客戶端的參數

1) 如果多個模型中有相同的屬性時,可以用user.name或admin.name來收集客戶端參數

2) 用一個新的模型將User和Admin再封裝一次

public class User {
    private Integer id;
    private String name;
    private Double sal;
    private Date hiredate;
    public User(){}
    public Integer getId() {
        return
id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Double getSal() { return sal; } public void setSal(Double sal) {
this.sal = sal; } public Date getHiredate() { return hiredate; } public void setHiredate(Date hiredate) { this.hiredate = hiredate; } @Override public String toString() { return this.id + ":" + this.name + ":" + this.sal + ":" + this.hiredate; } }
public class Bean {
    private User user;
    private Admin admin;
    public Bean(){}
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
    public Admin getAdmin() {
        return admin;
    }
    public void setAdmin(Admin admin) {
        this.admin = admin;
    }
}
@Controller
@RequestMapping(value = "/person")
public class PersonAction {
    @InitBinder
    protected void initBinder(HttpServletRequest request,ServletRequestDataBinder binder) throws Exception {
        binder.registerCustomEditor(
                Date.class, 
                new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"),true));
    }
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public String add(Bean bean,Model model) throws Exception {
        System.out.println(bean.getUser());
        System.out.println(bean.getAdmin());
        System.out.println("PersonAction::add()::POST");
        model.addAttribute("bean",bean);
        return "/register.jsp";
    }
}

register.jsp

 普通用戶
    <form action="${pageContext.request.contextPath}/person/add.action" method="POST">
        編號:<input type="text" name="user.id" value="${bean.user.id}"/><br/>
        姓名:<input type="text" name="user.name" value="${bean.user.name}"/><br/>
        薪水:<input type="text" name="user.sal" value="${bean.user.sal}"/><br/>
        入職時間:<input type="text" name="user.hiredate" value=‘<fmt:formatDate value="${bean.user.hiredate}" type="both" />‘/><br/>
        <input type="submit" value="註冊"/>
    </form>

在業務控制方法中寫入包裝User的模型來收集參數