Spring MVC学习笔记2

来源:互联网 发布:linux python 编辑器 编辑:程序博客网 时间:2024/04/28 14:47

这一篇博客讲的是三种方式通过Spring MVC传参


1,根据HttpServletRequest对象进行传参:controller 的代码如下:

/*
     * 根据HttpServletRequest 对象传递参数
     */
    @RequestMapping(value="/userInfo.do")
    public String getUserInfo(HttpServletRequest request){
        String userName = request.getParameter("userName");
        String password = request.getParameter("password");
        System.out.println("userName:"+userName+"\npassWord:"+password);
        return "index";
    }

2,直接将form表单中input的name作为参数传入,这种方法可以适用于多种类型的传参,但是需要用基本类型的封装类型。如:int用Integer double用Double

示例代码如下:

/*
     * 根据参数名直接传递参数,参数名称需要与input的name保持一致
     */
    @RequestMapping(value="/userInfo2.do")
    public String getUserInfo2(String userName,String password){
        System.out.println("userName:"+userName+"\npassword:"+password);
        return "index";
    }

3,通过bean对象作为参数进行传参,这种方法十分方便,但要注意的是,form表单中,input的name值需要与类中变量的命名相同,并且类型同样设置为封装类型。

示例代码如下:

@RequestMapping(value="/userInfo3.do")
    public String getUserInfo3(UserInfo userInfo){
        System.out.println(userInfo);
        return "index";
    }

bean的代码:

public class UserInfo {
    private Integer number;
    private String name;
    private Double score;
    @Override
    public String toString() {
        return "UserInfo [number=" + number + ", name=" + name + ", score="
                + score + "]";
    }
    public Integer getNumber() {
        return number;
    }
    public void setNumber(Integer number) {
        this.number = number;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getScore() {
        return score;
    }
    public void setScore(double score) {
        this.score = score;
    }
}

0 0
原创粉丝点击