SpringMVC 中,当前台传入多个参数时,可将参数封装成一个bean类

Posted 八千轮回

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC 中,当前台传入多个参数时,可将参数封装成一个bean类相关的知识,希望对你有一定的参考价值。

在实际业务场景中,当前台通过 url 向后台传送多个参数时,可以将参数封装成一个bean类,在bean类中对各个参数进行非空,默认值等的设置。

前台 url ,想后台传送两个参数,userName 和 password:

 1 http://localhost:8082/web/baseAction.do?pathVar=app/task/fetchItemDetail.do?userName=123&password=123 

将参数封装成bean 类,并在bean类中对参数进行控制:

 1  
 2  
 3 import org.hibernate.validator.constraints.NotEmpty;
 4  
 5 /**
 6  * Created by thinkpad on 2017/10/23.
 7  */
 8 public class QueryCondition {
 9  
10     @NotEmpty(message = "validator.userName")
11     private String userName ;
12     private String password;
13  
14     public String getUserName() {
15         return userName;
16     }
17  
18     public void setUserName(String userName) {
19         this.userName = userName;
20     }
21  
22     public String getPassword() {
23         if (null == password || password.length() == 0){
24             password = "123456";
25         }
26         return password;
27     }
28  
29     public void setPassword(String password) {
30         this.password = password;
31     }
32 }

    controller 中的接收、打印及去除当前传入的参数:

    @RequestMapping("/fetchItemDetail.do")
    @ResponseBody
    public String fetchItemDetail(QueryCondition condition) {
        JSONObject json = new JSONObject();
        System.out.println(ReflectionToStringBuilder.toString(condition, ToStringStyle.MULTI_LINE_STYLE));
        System.out.println("conditionUserName = [" + condition.getUserName() + "], " +
                "conditionPassword = [" + condition.getPassword() + "]");
        return json.toJSONString();
    }

 

以上是关于SpringMVC 中,当前台传入多个参数时,可将参数封装成一个bean类的主要内容,如果未能解决你的问题,请参考以下文章

Java面试宝典每日3题:day36

mybatis 怎么根据数组参数 来进行批量删除?

springmvc 多文件上传 MultipartFile 怎么获取前台传过来的参数

springMVC 接收json字符串参数

tomcat设置utf-8编码,springMVC后台接收参数反而乱码

springmvc中jsonformat入参数不管用