在业务控制方法中写入包装User的模型来收集参数

可以在业务控制方法中书写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>

原文地址:https://www.cnblogs.com/loaderman/p/10063326.html

时间: 2024-10-28 14:39:21

在业务控制方法中写入包装User的模型来收集参数的相关文章

17SpringMvc_在业务控制方法中写入包装User的模型来收集参数——解决问题

前一篇文章,讲了在业务方法中多个模型收集参数有一个问题,现在这篇文章就来解决一上一篇文章的问题. User和Admin是两个不同的实体类.我们解决问题的方法是: 如果多个模型中有相同的属性时,可以用user.name或admin.name来收集客户端参数.就是用一个新的模型将User和Admin再封装一次. 给出案例的结构图: 上面结构图中用到了Admin.java;Bean.java;UserAction.java;springmvc_008.xml;spring.xml;web.xml;pe

在业务控制方法中写入Request,Response等传统web参数

可以在业务控制方法中书写传统web参数,这种方式我们不提倡,耦合了 @Controller @RequestMapping(value="/user") public class UserAction{ @RequestMapping(value="/add",method=RequestMethod.POST) public void add(HttpServletRequest request,HttpServletResponse response) thro

14SpringMvc_在业务控制方法中写入HttpServletRequest,HttpServletResponse等传统web参数(这个知识点知道就好了,不推荐这么去做)

这篇文章解决的问题是怎么在业务方法里面引入我们熟悉的HttpServletRequest和HttpServletRespon? 答案:这种引入传统的web参数的做法不推荐去做,因为这么做会实行高度耦合. 但还是说一下这种做法: 在Action修改代码如下: package com.guigu.shen.Action7; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.se

在业务控制方法中写入User,Admin多个模型收集参数

1)  可以在业务控制方法中书写1个模型来收集客户端的参数 2)  模型中的属性名必须和客户端参数名一一对应 3)  这里说的模型不是Model对象,Model是向视图中封装的数据 @Controller @RequestMapping(value = "/user") public class UserAction { @InitBinder protected void initBinder(HttpServletRequest request,ServletRequestData

16SpringMvc_在业务控制方法中写入User,Admin多个模型收集参数——引出问题

上面文章时普通的业务那个方法中收集一个实体类,这篇文章想收集两个实体类. 文本要做的是:在person.jsp页面上,有两个表单.分别是普通用户和管理员用户的表单(普通用户的表单和管理员用户的表单里面的标签的name都是一样的).当输入一些数据之后按提交,不管是普通用户的表单还是管理员用户的表单都会提交到后台的同一个Action(控制器)的同一个方法去处理.然后由这个方法里面的两个实体类参数去收集数据,然后Action处理好之后再回到person.jsp把收集到的数据再显示到这个页面上.pers

12SpringMvc_在业务控制方法中写入普通变量收集参数

这篇文章讲的是jsp页面不是会传一些参数到Action中,那么Action怎么去接受这个数据呢? 方案: 案例结构如下: 用的还是前一篇博客的案例,只是在上面做一些改动:这个案例用到的文件有:1.UserActio.java(控制类)2.Spring.xml(总的配置文件)3.springmvc_006.xml(这个项目独有的配置文件)4.adduser.jsp(有两个表单的jsp页面) 第一步:编写web.xml文件. <?xml version="1.0" encoding=

19SpringMvc_在业务控制方法中收集List集合中包含JavaBean参数

本文要实现的功能是给一张表单: 可以看到这样表格一共有四行,每一行代表一个员工(User),每一个员工有username和salary.我们要做的是把这四个员工信息装进一个List集合中. 那么怎么做呢? List不就是一个数组吗? 我们这么考虑: 案例结构如下: 第一步编写首页面emp.jsp,代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%

在业务控制方法中收集数组参数

@Controller @RequestMapping(value="/user") public class UserAction { @RequestMapping(value="/delete") public String deleteMethod(int[] ids,Model model) throws Exception{ System.out.println("UserAction::deleteMethod()"); Syste

在业务控制方法中收集List&lt;JavaBean&gt;参数

@Controller @RequestMapping(value="/user") public class UserAction { @RequestMapping(value="/addAll") public String addAll(Bean bean,Model model) throws Exception{ for(User user : bean.getUserList()){ System.out.println(user.getName()+