• Spring MVC学习02请求参数接收


    新建实体类,User和UserList

     1 package com.yas.entity;
     2 
     3 import java.util.Date;
     4 
     5 public class User {
     6     private Integer id;
     7     private String name;
     8     private Boolean gender;
     9     private Date birth;
    10 
    11     public User() {
    12     }
    13 
    14     public User(Integer id, String name, Boolean gender, Date birth) {
    15         this.id = id;
    16         this.name = name;
    17         this.gender = gender;
    18         this.birth = birth;
    19     }
    20 
    21     public Integer getId() {
    22         return id;
    23     }
    24 
    25     public void setId(Integer id) {
    26         this.id = id;
    27     }
    28 
    29     public String getName() {
    30         return name;
    31     }
    32 
    33     public void setName(String name) {
    34         this.name = name;
    35     }
    36 
    37     public Boolean getGender() {
    38         return gender;
    39     }
    40 
    41     public void setGender(Boolean gender) {
    42         this.gender = gender;
    43     }
    44 
    45     public Date getBirth() {
    46         return birth;
    47     }
    48 
    49     public void setBirth(Date birth) {
    50         this.birth = birth;
    51     }
    52 
    53     @Override
    54     public String toString() {
    55         return "User{" +
    56                 "id=" + id +
    57                 ", name='" + name + '\'' +
    58                 ", gender=" + gender +
    59                 ", birth=" + birth +
    60                 '}';
    61     }
    62 }
     1 package com.yas.entity;
     2 
     3 import java.util.ArrayList;
     4 public class UserList {
     5     private ArrayList<User> users;
     6 
     7     public ArrayList<User> getUsers() {
     8         return users;
     9     }
    10 
    11     public void setUsers(ArrayList<User> users) {
    12         this.users = users;
    13     }
    14 }

    建立用于测试的Controller:ParamController 

     1 package com.yas.controller;
     2 
     3 import com.yas.entity.User;
     4 import com.yas.entity.UserList;
     5 import org.springframework.stereotype.Controller;
     6 import org.springframework.web.bind.annotation.PathVariable;
     7 import org.springframework.web.bind.annotation.RequestMapping;
     8 import org.springframework.web.bind.annotation.RequestParam;
     9 
    10 import java.util.Date;
    11 
    12 @Controller
    13 @RequestMapping("/param")
    14 public class ParamController {
    15 
    16     // http://localhost:8080/param/test1?id=1&name=zhangsan&gender=true&birth=2021/10/26
    17     @RequestMapping("/test1")
    18     public String test1(@RequestParam("id") Integer id,
    19                         @RequestParam("name") String name,
    20                         @RequestParam("gender") Boolean gender,
    21                         @RequestParam("birth") Date birth){
    22         System.out.println(id);
    23         System.out.println(name);
    24         System.out.println(gender);
    25         System.out.println(birth);
    26 
    27         return "hello";
    28     }
    29 
    30     // http://localhost:8080/param/test2?id=1&name=zhangsan&gender=true&birth=2021/10/26
    31     @RequestMapping("/test2")
    32     public String test2(User user){
    33         System.out.println(user.getId());
    34         System.out.println(user.getName());
    35         System.out.println(user.getGender());
    36         System.out.println(user.getBirth());
    37 
    38         return "hello";
    39     }
    40 
    41     // http://localhost:8080/param/test3?hobby=football&hobby=basketball&hobby=volleyball
    42     @RequestMapping("/test3")
    43     public String test3(@RequestParam("hobby") String[] hobby){
    44         for(String h : hobby){
    45             System.out.println(h);
    46         }
    47         return "hello";
    48     }
    49 
    50     // http://localhost:8080/param.jsp
    51     @RequestMapping("/test4")
    52     public String test4(UserList userList){
    53         if(userList!=null) {
    54             for (User user : userList.getUsers()) {
    55                 System.out.println(user.toString());
    56             }
    57         }
    58         return "hello";
    59     }
    60 
    61     // http://localhost:8080/param/test5/1
    62     @RequestMapping("/test5/{id}")
    63     public String test5(@PathVariable("id") Integer id){
    64         System.out.println(id);
    65         return "hello";
    66     }
    67 
    68     // http://localhost:8080/param/test6/1/zhangsan
    69     @RequestMapping("/test6/{id}/{name}")
    70     public String test5(@PathVariable("id") Integer id,
    71                         @PathVariable("name") String name){
    72         System.out.println(id);
    73         System.out.println(name);
    74         return "hello";
    75     }
    76 }

    建立测试用jsp页面

    <%--
      Created by IntelliJ IDEA.
      User: yanga
      Date: 2021/10/26
      Time: 11:30
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>prarm.jsp</title>
    </head>
    <body>
    <%--    <form action="${pageContext.request.contextPath}/param/test3">--%>
    <%--        <input type="checkbox" name="hobby" value="football"> 足球--%>
    <%--        <input type="checkbox" name="hobby" value="basketball"> 篮球--%>
    <%--        <input type="checkbox" name="hobby" value="volleyball"> 排球--%>
    
    <%--        <input type="submit" value="提交">--%>
    <%--    </form>--%>
    
    <form action="${pageContext.request.contextPath}/param/test4" method="post">
        id:<input type="text" name="users[0].id" value="1"><br>
        name:<input type="text" name="users[0].name" value="zhangsan"><br>
        gender:<input type="text" name="users[0].gender" value="true"><br>
        <hr>
        id:<input type="text" name="users[1].id" value="2"><br>
        name:<input type="text" name="users[1].name" value="lisi"><br>
        gender:<input type="text" name="users[1].gender" value="false"><br>
    
        <input type="submit" value="提交">
    </form>
    
    </body>
    </html>

    修改web.xml,添加post请求包含中文的编码处理:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    
        <!--configure the setting of springmvcDispatcherServlet and configure the mapping-->
        <servlet>
            <servlet-name>springmvc</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <init-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>classpath:mvc.xml</param-value>
            </init-param>
            <!-- <load-on-startup>1</load-on-startup> -->
        </servlet>
    
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
        <!-- 配置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>forceEncoding</param-name>
                <param-value>true</param-value>
            </init-param>
        </filter>
        <!-- 过滤所有请求 -->
        <filter-mapping>
            <filter-name>CharacterEncodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    </web-app>
  • 相关阅读:
    mongodb常用命令(转)
    C++位运算详解(转)
    C++Vector用法(转)
    php下载文件
    二维数组和指针(转)
    php数据采集(转)
    通过PHP实现浏览器点击下载TXT文档(转)
    Linux 文件颜色的含义
    如何在Linux下创建与解压zip, tar, tar.gz和tar.bz2文件【转】
    X11VNC:让Windows可以远程管理Ubuntu桌面
  • 原文地址:https://www.cnblogs.com/asenyang/p/15465202.html
Copyright © 2020-2023  润新知