首页 > 编程语言 > 详细

SpringMVC_3_请求参数的绑定

时间:2020-09-17 01:00:24      阅读:62      评论:0      收藏:0      [点我收藏+]

1.请求参数的绑定

1)绑定机制:如果处理器参数和请求中的键名一样,MVC框架会自动将键对应的值赋给同名的处理器参数。

2)支持的数据类型:

基本数据类型和字符串类型

JAVABean

集合类型(list、map等)

 

3)封装JAVABean的示例:

.jsp文件:

<form action="param/saveAccount" method="post">
    姓名:<input type="text" name="username"/><br/>
    密码:<input type="password" name="password"/><br/>
    金额:<input type="text" name="money"/><br/>
    用户名:<input type="text" name="user.uname"><br/>
    年龄:<input type="text" name="user.age">
    <input type="submit" value="提交">
</form>

 

bean:

Account:
private String username;
    private String password;
    private Double money;
    private User user;
User:
private String uname;
    private Integer age;

 

 

 处理器:

/**
     * 将处理器的参数设置为JavaBean,使得请求参数封装进该Bean
     * @param account
     * @return
     */
     @RequestMapping("/saveAccount")
     public String saveAccount(Account account){
     System.out.println("username: "+account.getUsername());
     System.out.println("password: "+account.getPassword());
     System.out.println("money: "+account.getMoney());
     System.out.println("用户名: "+account.getUser().getUname());
     System.out.println("年龄: "+account.getUser().getAge());
     return "success";
     }

 

 

web.xml(配置解决中文乱码的过滤器):

 <!--配置解决中文乱码的过滤器-->
  <filter>
    <filter-name>characterEncodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value>
    </init-param>
  </filter>
  <filter-mapping>
    <filter-name>characterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

 

 

 

4)封装集合的示例:

.jsp:
<%--集合类型的参数绑定规则:
  List<User> users <---> name="users[x].属性"
  --%>
<form action="param/saveAccount" method="post">
    姓名:<input type="text" name="username"/><br/>
    密码:<input type="password" name="password"/><br/>

    用户名List0:<input type="text" name="users[0].uname"><br/>
    年龄List0:<input type="text" name="users[0].age">
    用户名List1:<input type="text" name="users[1].uname"><br/>
    年龄List1:<input type="text" name="users[1].age">

    用户名Map0:<input type="text" name="userMap[‘0‘].uname"><br/>
    年龄Map0:<input type="text" name="userMap[‘0‘].age">
    用户名Map1:<input type="text" name="userMap[‘1‘].uname"><br/>
    年龄Map1:<input type="text" name="userMap[‘1‘].age">
    <input type="submit" value="提交">
</form>
Bean:
private String username;
    private String password;
    private List<User> users;
    private Map<String,User> userMap;

 

 

 

2.自定义类型转换器

1)表单提交的任何数据类型都是字符串,但是Spring框架内部会默认进行数据类型转换

2)如果想自定义数据类型转换,可以实现Converter接口

 

SpringMVC_3_请求参数的绑定

原文:https://www.cnblogs.com/A-PP-Z-droplet/p/13682211.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!