可以在业务控制方法中书写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的模型来收集参数的更多相关文章

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

    在解决问题之前,我要说明一下jsp页面上填入信息,一个用户的信息比如用户的名字,用户的电话,用户的手机等等,在这个jsp页面上填好信息后,转到有个action处理这个信息.原理是什么? 在jsp页面上 ...

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

    可以在业务控制方法中书写传统web参数,这种方式我们不提倡,耦合了 @Controller @RequestMapping(value="/user") public class ...

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

    这篇文章解决的问题是怎么在业务方法里面引入我们熟悉的HttpServletRequest和HttpServletRespon? 答案:这种引入传统的web参数的做法不推荐去做,因为这么做会实行高度耦合 ...

  4. 15SpringMvc_在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型

    之前第12篇文章中提到过在业务控制方法中写入普通变量收集参数的方式,也提到了这种凡方式的弊端(参数很多怎么办),所以这篇文章讲的是在业务控制方法中写入模型变量来收集参数.本文的案例实现的功能是,在注册 ...

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

    1)  可以在业务控制方法中书写1个模型来收集客户端的参数 2)  模型中的属性名必须和客户端参数名一一对应 3)  这里说的模型不是Model对象,Model是向视图中封装的数据 @Controll ...

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

    上面文章时普通的业务那个方法中收集一个实体类,这篇文章想收集两个实体类. 文本要做的是:在person.jsp页面上,有两个表单.分别是普通用户和管理员用户的表单(普通用户的表单和管理员用户的表单里面 ...

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

    这篇文章讲的是jsp页面不是会传一些参数到Action中,那么Action怎么去接受这个数据呢? 方案: 案例结构如下:

  8. 在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型

    1)  在默认情况下,springmvc不能将String类型转成java.util.Date类型,所有我们只能在Action 中自定义类型转换器 <form action="${pa ...

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

    本文要实现的功能是给一张表单:

随机推荐

  1. 【SpringBoot】自动配置

    一.取值 1.1 @Value 1.2 ConfigurationProperties 二.导入配置文件 2.1 @PropertySource 三.配置文件的加载 3.1 默认的加载顺序 3.2 外 ...

  2. Maven的下载及安装

    版权申明:本文为博主原创文章,欢迎大家转载.转载请声明转载处为:https://www.cnblogs.com/qxcxy-silence/p/10808321.html 1.下载Maven; 1). ...

  3. MYSQL8.0+ 使用JDBC查询中文乱码的问题

    在建表时,附加一句 DROP TABLE IF EXISTS `sys_table`;CREATE TABLE `sys_table` ( ... ) ENGINE=InnoDB DEFAULT CH ...

  4. JAVA-如何打包成jar包

    主线:编译 - 打包 - 运行 准备工作: 1. 手动打可直接执行的jar包 1) 先使用javac编译java文件,得到class文件 2) 新建文件,名字任起,比如可以叫manifest,内容如下 ...

  5. UTC和GMT时间

    来源:https://www.cnblogs.com/qiuyi21/archive/2008/03/04/1089456.html UTC和GMT时间 每个地区都有自己的本地时间,在网上以及无线电通 ...

  6. 关于bash这类脚本语言的一点感想

    写了几百行bash玩具代码, 越发觉得,动态语言不适合做大型项目,写起来倒是爽,但是没有类型检查,变量名拼错了还不知道 再加上各种奇葩变量满天飞,啧啧

  7. C# 核心基础(1) 持续更新

    using System; namespace ConsoleApplicationCShape { class Program { static void Main(string[] args) { ...

  8. Java笔记(基础第一篇)

    一.初识java 1.Java是一种可以编写跨平台的.面向对象的程序设计语言. Java开发分成以下3个方向: (1). java SE:主要用于桌面程序的开发.是java EE和java ME的基础 ...

  9. onpageshow、onpagehide、onload、onunload

    onpageshow :在用户浏览网页时触发, 在页面从浏览器缓存中读取时也触发 通过event.persisted 来判断, 如果页面从浏览器的缓存中读取该属性返回 ture,否则返回 false ...

  10. H5项目 使用Cropper.js 实现图片 裁剪 操作 (APP端)

    参考地址: 1.https://www.jianshu.com/p/b252a7cbcf0b 2.https://blog.csdn.net/weixin_38023551/article/detai ...