Spring In Action(六):处理请求中的参数

来源:互联网 发布:淘宝网客服投诉电话 编辑:程序博客网 时间:2024/05/22 02:24

Spring in Action(五):基于Java Config的SpringMVC


SpringMVC中,客户端发送请求传递参数的方法

(1)查询参数

(2)路径变量

(3)表单参数


一、查询参数

使用@RequestParam接收http://localhost:8080/hello?username=zhangsan类型的参数

(1)修改HelloController

@Controller//将此类作为控制器public class HelloController {//    @RequestMapping(value="/hello")//设置请求映射,处理对"/hello"的GET请求//    public String hello(){//        return "hello";//视图名为hello,视图解析器会寻找WEB-INF/views/hello.jsp//    }    /*     * 接收http://localhost:8080/hello?username=zhangsan的参数     */    @RequestMapping(value="/hello")//设置请求映射,处理对"/hello"的GET请求    public String hello(@RequestParam("username") String username){//接收一个名为username的参数        System.out.println(username);        return "hello";//视图名为hello,视图解析器会寻找WEB-INF/views/hello.jsp    }}


(2)启动Tomcat输入http://localhost:8080/hello?username=zhangsan进行测试,控制台输出username的值

zhangsan

二、路径参数

通过占位符和@PathVariable获取路径参数,请求为http://localhost:8080/hello/admin


(1)修改HelloController

    /**     * 接收http://localhost:8080/hello/admin的参数     * @param username     * @return     */    @RequestMapping(value="/hello/{username}")//处理/hello请求,{name}为占位符,获取/hello/admin中/hello/后的内容    public String hello(@PathVariable("username") String username){//接收username的参数        System.out.println(username);        return "hello";//视图名为hello,视图解析器会寻找WEB-INF/views/hello.jsp    }

(2)启动Tomcat,输入http://localhost:8080/hello/admin测试

admin

三、表单参数

(1)将HelloController恢复

@Controller//将此类作为控制器public class HelloController {    @RequestMapping(value="/hello")//设置请求映射,处理对"/hello"的GET请求    public String hello(){        return "hello";//视图名为hello,视图解析器会寻找WEB-INF/views/hello.jsp    }}

(2)修改hello.jsp,添加一个from表单

<html><body><h2>hello spring mvc</h2><form action="/login">   username: <input type="text" name="username">   password: <input type="password" name="password">    <input type="submit" value="submit"></form></body></html>


(3)创建一个User bean
public class User {    private String username;    private String password;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }}

(4)创建一个LoginController,当form表单提交请求时,会将参数封装为User对象

@Controllerpublic class LoginController {    @RequestMapping("/login")    public String login(User user, Model model){        model.addAttribute("username",user.getUsername());        return "home";    }}

(5)home.jsp,页面显示model中放入的username

<html><body><h2>hello:${username}</h2></body></html>


(6)测试



参考:

(1) Spring in Action

(2)http://blog.csdn.net/a67474506/article/details/46361195


原创粉丝点击