SpringMVC:获取请求参数-2

5、@CookieValue注解处理cookie数据和控制器方法的形参的映射关系

@CookieValue是将cookie数据和控制器方法的形参创建映射关系
@CookieValue注解一共有三个属性:value、required、defaultValue,用法同@RequestParam

6.通过POJO获取请求参数

可以在控制器方法的形参位置设置一个实体类类型的形参,此时若浏览器传输的请求参数的参数名和实
体类中的属性名一致,那么请求参数就会为此属性赋值

创建一个user类,包含下列属性

    private String username;
    private String password;
    private String sex;
    private String age;
    private String email;

控制器中

    //6.通过POJO获取请求参数
    @RequestMapping("/tobean")
    public String tobean(User user){
        System.out.println(user);
        return "success";
    }

html

 <form th:action="@{/tobean}" method="post">
        用户名:<input type="text" name="username"><br>
        密码:<input type="password" name="password"><br>
        性别:<input type="radio" name="sex" value="男">男
             <input type="radio" name="sex" value="女">女<br>
        年龄:<input type="text" name="age"><br>
        邮箱:<input type="text" name="email"><br>
        <input type="submit" value="通过POJO获取请求参数">
    </form>

7.通过CharacterEncodingFilter处理获取请求参数乱码的问题

解决获取请求参数的乱码问题,可以使用SpringMVC提供的编码过滤器CharacterEncodingFilter,但是
必须在web.xml中进行注册

    <!--配置springMVC的编码过滤器-->
    <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>
        <init-param>
            <param-name>forceResponseEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

 

 

阅读剩余
THE END