【SpringMVC】在业务控制方法中写入User,Admin多个模型收集参数(十四)
来源:互联网 发布:软件建设方案怎么写 编辑:程序博客网 时间:2024/06/04 19:50
1) 可以在业务控制方法中书写1个模型来收集客户端的参数
2) 模型中的属性名必须和客户端参数名一一对应
3) 这里说的模型不是Model对象,Model是向视图中封装的数据
@Controller@RequestMapping(value = "/user")public class UserAction {@InitBinderprotected 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(User user,Model model) throws Exception {System.out.println("HelloAction::add()::POST");model.addAttribute("user",user);return "/register.jsp";}}
如果User和Admin的属相有同名的属性的时候,这时候就面临一个尴尬局面,这里我们处理的方法将User和Admin封装到一个Bean中,并将Bean作为业务方法的参数传入,然后jsp页面通过user.属性名的方式调用
可以在业务控制方法中书写0个或多个模型来收集客户端的参数
1) 如果多个模型中有相同的属性时,可以用user.name或admin.name来收集客户端参数
2) 用一个新的模型将User和Admin再封装一次
User.java
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;}@Overridepublic String toString() {return this.id + ":" + this.name + ":" + this.sal + ":" + this.hiredate;}}
Bean.java
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;}}
PersonAction.java
@Controller@RequestMapping(value = "/person")public class PersonAction {@InitBinderprotected 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>
阅读全文
0 0
- 【SpringMVC】在业务控制方法中写入User,Admin多个模型收集参数(十四)
- SpringMVC 在业务控制方法中写入包装User的模型来收集参数
- SpringMVC 在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型
- Springmvc中,在业务控制方法中写入包装类收集参数
- springmvc框架中,在业务控制方法中写入模型变量收集参数,且使用@InitBind来解决字符串转日期类型
- 【SpringMVC】在业务控制方法中收集数组与List<JavaBean>参数(十五)
- springmvc中,在业务控制方法中,收集数组参数,收集List集合包含javabean
- springmvc中一个Action中,写多个类似的业务控制方法+在业务控制方法中写入普通变量收集参数+限定某个业务控制方法。只允许GET或POST请求方式访问
- 在业务控制方法中收集List<JavaBean>参数 (例如 同时添加多个用户) (12)
- springmvc在业务控制方法中收集List<JavaBean>参数,实现批量处理
- SpringMVC 在业务控制方法中收集数组及List<JavaBean>参数
- 【SpringMVC】一个Action中,写多个业务控制方法(十一)
- springmvc中,结果的转发可以共享request域对象,会将参数从第一个业务控制方法传入第二个业务控制方法,重定向则不行
- 业务控制方法中收集数组参数 (例如 批量删除用户) (11)
- 在控制类的方法参数中利用javabean(实体类)来收集参数 (10)
- springmvc(四) Action中业务控制方法多种形式
- SpringMVC 一个Action中,写多个类似的业务控制方法
- springMVC 多个entity(User Famliy) 接收参数处理(属性名称不一样)
- PopupMenu的简单使用
- Java中 GC是什么
- 一张图看懂阿里云网络产品[一]网络产品概览
- 两个链表的第一个公共结点(链表)
- 【Scikit-Learn 中文文档 】安装 scikit-learn | ApacheCN
- 【SpringMVC】在业务控制方法中写入User,Admin多个模型收集参数(十四)
- mysql-5.7.20-winx64安装过程
- windows10+cuda8.0+tensorflow 环境配置
- 选择语句
- 高情商
- 在人工智能时代,我们更需要理解自己的智能 | 艾伦脑科学研究所所长STEP峰会演讲实录
- shell 计算两个日期之间的天数
- php使用第三方QQ登录
- Retrofit+RxJava+ViewPager多页滑动