Spring MVC教程三

本文深入探讨SpringMVC框架中的参数绑定技术,包括@RequesParam、@RequestHeader、@CookieValue及POJO对象绑定的使用方法,通过具体代码示例展示了如何处理HTTP请求中的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好的,现在我们已经逐渐进入状态了,进入新的一期的学习。希望我与读者一起坚持下去。为学习java后端而奋斗吧,加油少年。本节代码在教程二基础上添加。

@RequestParam绑定请求参数

@RequestParam将请求参数的值绑定到处理方法的入参中。

@RequestMapping(value = "/testRequestParam")
    public String testRequestParam(@RequestParam(value = "username") String username,
                                   @RequestParam(value = "age",required = false) String age){
        System.out.println("testRequestParam,username " +username+" age "+age);
        return "success";
    }

html

    <a href="/springmvc/testRequestParam?username=wend&age=10">testRequestParam</a>

@RequestHeader绑定请求头属性值

@RequestHeader可将请求头中的属性值绑定到处理方法的入参中。
controller代码:

  @RequestMapping("/testRequestHeader")
    public String testRequestHeader(@RequestHeader(value = "Accept-Language") String al){
        System.out.println("testRequestHeader,Accept-Language "+al );
        return "success";
    }

html

<a href="/springmvc/testRequestHeader">testRequestHeader</a>

可以将Accept-Language这个请求头信息取出来
在这里插入图片描述

CookieValue绑定请求中的Cookie值

@CookieValue可让处理方法入参绑定某个Cookie值,我们来获取下图的cookie值
在这里插入图片描述
controller:

    @RequestMapping("/testCookieValue")
    public String testCookieValue(@CookieValue(value = "JSESSIONID") String sessionId){
        System.out.println("testCookieValue,JSESSIONID "+sessionId );
        return "success";
    }

html:

<a href="/springmvc/testCookieValue">testCookieValue</a>

使用 POJO对象绑定请求参数值

springMVC 会按请求参数名和POJO属性名进行自动匹配,自动为该对象填充属性名。支持级联属性。
首先我们建立两个pojo,User 和 Address

package com.xcl.entities;

/**
 * @author chuanlei.xu
 * @version 1.0
 * @date 2019/2/27 15:08
 */
public class Address {

    private String province;

    private String city;

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    @Override
    public String toString() {
        return "Address{" +
                "province='" + province + '\'' +
                ", city='" + city + '\'' +
                '}';
    }
}
package com.xcl.entities;

/**
 * @author chuanlei.xu
 * @version 1.0
 * @date 2019/2/27 15:06
 */
public class User {

    private String username;
    private String password;

    private String email;
    private int age;

    private Address address;

    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;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", email='" + email + '\'' +
                ", age=" + age +
                ", address=" + address +
                '}';
    }
}

controller

 @RequestMapping("/testPojo")
    public String testPojo(User user){
        System.out.println("testPojo"+user );
        return "success";
    }

html:

<form action="/springmvc/testPojo" method="post">
        username:<input type="text" name="username">
        <br>
        password:<input type="password" name="password">
        <br>
        email:<input type="text" name="email">
        <br>
        age:<input type="text" name="age">
        <br>
        city:<input type="text" name="address.city">
        <br>
        province:<input type="text" name="address.province">
        <br>
        <input type="submit" value="Submit">
    </form>

最后我们可以取到user对象:
在这里插入图片描述

  • github 地址
    https://github.com/chuanleixu/SpringMVC_Tutorials
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值