有两POJO类

Address.java

  1. package com.proc;
  2.  
  3. public class Address {
  4. private String province;
  5. private String city;
  6. public String getProvince() {
  7. return province;
  8. }
  9. public void setProvince(String province) {
  10. this.province = province;
  11. }
  12. public String getCity() {
  13. return city;
  14. }
  15. public void setCity(String city) {
  16. this.city = city;
  17. }
  18. @Override
  19. public String toString() {
  20. return "Address [province=" + province + ", city=" + city + "]";
  21. }
  22. }

User.java

  1. package com.proc;
  2.  
  3. public class User {
  4.  
  5. private String username;
  6. private String password;
  7. private String gender;
  8. private String hobby;
  9. private Address address;
  10. public String getUsername() {
  11. return username;
  12. }
  13. public void setUsername(String username) {
  14. this.username = username;
  15. }
  16. public String getPassword() {
  17. return password;
  18. }
  19. public void setPassword(String password) {
  20. this.password = password;
  21. }
  22. public String getGender() {
  23. return gender;
  24. }
  25. public void setGender(String gender) {
  26. this.gender = gender;
  27. }
  28. public String getHobby() {
  29. return hobby;
  30. }
  31. public void setHobby(String hobby) {
  32. this.hobby = hobby;
  33. }
  34. public Address getAddress() {
  35. return address;
  36. }
  37. public void setAddress(Address address) {
  38. this.address = address;
  39. }
  40. @Override
  41. public String toString() {
  42. return "User [username=" + username + ", password=" + password
  43. + ", gender=" + gender + ", hobby=" + hobby + ", address="
  44. + address + "]";
  45. }
  46. }

JSP页面

  1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%>
  2.  
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  4. <html>
  5. <head>
  6.  
  7. </head>
  8.  
  9. <body>
  10. <form action="testPOJO" method="post">
  11. <table>
  12. <tr>
  13. <td>用户名:</td><td><input type="text" name="username"/></td>
  14. </tr>
  15. <tr>
  16. <td>密码:</td><td><input type="password" name="password"/></td>
  17. </tr>
  18. <tr>
  19. <td>性别:</td>
  20. <td>
  21. <input type="radio" checked="checked" name="gender" value="male"/>
  22. <input type="radio" name="gender" value="female"/>
  23. </td>
  24. </tr>
  25. <tr>
  26. <td>爱好:</td>
  27. <td>
  28. <input type="checkbox" name="hobby" value="tv">看电视
  29. <input type="checkbox" name="hobby" value="ball">打球
  30. <input type="checkbox" name="hobby" value="swimming">游泳
  31. </td>
  32. </tr>
  33. <tr>
  34. <td>省:</td><td><input type="text" name="address.province"/></td>
  35. </tr>
  36. <tr>
  37. <td>市:</td><td><input type="text" name="address.city"/></td>
  38. </tr>
  39. <tr>
  40. <td></td><td><input type="submit" value="提交"></td>
  41. </tr>
  42.  
  43. </table>
  44. </form>
  45. </body>
  46. </html>

控制器类:

  1. package com.proc;
  2.  
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5.  
  6. @Controller
  7. public class Test {
  8.  
  9. @RequestMapping("/testPOJO")
  10. public String testPOJO(User user){
  11. System.out.println(user);
  12. return "hello";
  13. }
  14.  
  15. }

测试:

1、进入jsp页面:

2、点击提交后,控制台输出

  1. User [username=caoyc, password=123456, gender=male, hobby=tv,swimming, address=Address [province=sichuan, city=chengdu]]

【总结】:这里对应address属性使用的是级联属性

POJO注入数组属性

  上面我们看到hobby是一个多选项。那么可以将hobby设为一个String[]类型的数组。设置后我们再次

  1. @RequestMapping("/testPOJO")
  2. public String testPOJO(User user){
  3. System.out.println(user);
  4. System.out.println(Arrays.toString(user.getHobby()));
  5. return "hello";
  6. }

  输出结果:

  1. 1 User [username=caoyc, password=123456, gender=male, hobby=[Ljava.lang.String;@c3d34, address=Address [province=sichuan, city=chengdu]]
  2. 2 [tv, swimming]

上面如果输入中文。会出现中文乱码情况

本文转自:http://www.cnblogs.com/caoyc/p/5635640.html

SpringMVC POJO传参方式的更多相关文章

  1. Spring MVC POJO传参方式

    有两POJO类 Address.java package com.proc; public class Address { private String province; private Strin ...

  2. @ModelAttribute注解和POJO传参过程

    1.@ModelAttribute注解 @ModelAttribute主要有三个用途,对方法进行注解,对参数进行注解,还有@ModelAttribute和@RequestMapping一起对方法进行注 ...

  3. springMVC常用传参总结

    本文介绍了springMVC常用的传参方式和一些注意的事项,页面表单主要以ajax的形式提交. 本帅是个菜鸡,水平有限,若有什么讲得不对或有补充的地方欢迎各位提意见. 一.传递String类型   1 ...

  4. angularjs简单实现$http.post(CORS)跨域及$http.post传参方式模拟jQuery.post

    1.开启angularjs的CORS支持 .config(function($httpProvider) { // CORS post跨域配置 $httpProvider.defaults.useXD ...

  5. react中的传参方式

    react是一个SPA模式,即组件嵌套租,在一个单页面的应用中组件间的数值传递是必不可少的,主要的传参方式大致有一下几种: 1,在挂载的地方给组件传参 ReactDOM.rander(<a na ...

  6. Web API中的传参方式

    在Restful风格的WebApi的里面,API服务的增删改查,分别对应着Http Method的Get / Post / Delete /Put,下面简单总结了Get / Post /Delete ...

  7. jQuery对象初始化的传参方式

    jQuery对象初始化的传参方式包括: 1.$(DOMElement) 2.$(' ... '), $('#id'), $('.class') 传入字符串, 这是最常见的形式, 这种传参数经常也传入第 ...

  8. Python函数定义及传参方式

    主要内容:     1.函数初识     2.函数传参方式        (1)位置参数        (2)默认参数        (3)关键参数        (4)非固定传参 一.函数初识 1. ...

  9. java 传参方式--值传递还是引用传递

    java 传参方式--值传递还是引用传递 参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递.写它是为了揭穿普遍存在的一种神话,即认为 Java 应用程序按引用 ...

随机推荐

  1. HTTP Status 500 ? Internal Server Error

    getWriter()和getOutputStream()不能同时调用 HTTP Status 500 ? Internal Server Error Type Exception Report Me ...

  2. python爬虫常用的库

    1,请求:requests  requests.get(url, headers)  requests.post(url, data=data, files=files)  urllib模块:  Py ...

  3. WebSocket-Node

    WebSocket Client & Server Implementation for Node 参考资料:[https://github.com/theturtle32/WebSocket ...

  4. 分享我积攒的测试相关的资料收集awesome-test

    微信扫描关注我的公众号,回复测试资料 即可免费获取资料下载地址,不定期更新资料

  5. 浅谈python中字典append 到list 后值的改变问题

    看一个例子 ? 1 2 3 4 d={'test':1} d_test=d d_test['test']=2 print d 如果你在命令行实践的话,会发现你改动的是d_test ,但是d 也跟着改变 ...

  6. CodeSmith 找不到请求的 .Net Framework Data Provider

    连接数据库时候报标题的错误解决方案 安装mysql-connector-net-6.8.7.msi,下载地址:http://dev.mysql.com/downloads/connector/net/ ...

  7. 深入理解java:2.3.6. 并发编程concurrent包 之管理类---线程池

    我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁 ...

  8. XSS-笔记

     Cross Site Script  跨站脚本 是一种客户端代码的注入  而命令注入.sql注入都是客户端代码的注入.   XSS攻击行为的目标为:1.窃取目标的cookie信息 2.执行CSRF脚 ...

  9. 第五周总结&实验·

                                                                  本周总结 1.final声明的变量即成为常量,常量不可以修改. 2.子类能够 ...

  10. for循环练习题:拆解字符并输入下标

    test = input('请输入:') for item in range(0,len(test)): print(item,test[item])