springmvc前端传参,后端接收

铁佛  金牌会员 | 2025-1-13 13:45:55 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 877|帖子 877|积分 2631

RequestMapping注解

  1. @Target({ElementType.METHOD, ElementType.TYPE})
  2. @Retention(RetentionPolicy.RUNTIME)
  3. @Documented
  4. @Mapping
  5. public @interface RequestMapping {
  6.    String name() default "";
  7.    @AliasFor("path")
  8.    String[] value() default {};
  9.    @AliasFor("value")
  10.    String[] path() default {};
  11.    RequestMethod[] method() default {};
  12.    String[] params() default {};
  13.    String[] headers() default {};
  14.    String[] consumes() default {};
  15.    String[] produces() default {};
  16. }
复制代码
  作用: 创建请求URL和处理惩罚方法之间的对应关系 出现位置:方法和类上 作用在类上:第一季访问目录 作用在方法上:第二级访问目录 留意:路径可以不写 / 表示应用的根目录开始 属性: path:指定请求的url value:value属性和path属性一样 mthod:指定该方法的请求方式 params:指定限定请求参数条件 headers:发送请求中必须包含的请求头
  请求参数的绑定

   

  • 基本数据范例和字符串范例
  • 实体类(javabean)
  • 集合数据范例(list、map集合等)
  

  • 以通报用户名和密码为例,修改index.jsp页面,添加绑定参数
  
  1. <html>
  2. <body>
  3. <h2>Hello World!</h2>
  4. <h1>Login</h1>
  5. <a href="/param?username=oneStar&password=123">login</a>
  6. </body>
  7. </html>
复制代码


  • 在控制层添加请求映射,以参数的情势进行通报
  1.    @RequestMapping(path = "/param")
  2.    public String user(@RequestParam("username") String username,@RequestParam("password") String password){
  3.        System.out.println(username);
  4.        System.out.println(password);
  5.        return "success";
  6.    }
复制代码


  • 实体类绑定参数


  • 创建实体类
  1. package com.pyb.pojo;
  2. /**
  3. * @version 1.0
  4. * @Author 彭彦彬
  5. * @Date 2025/1/9 21:01
  6. * @注释
  7. */
  8. public class User {
  9.    private String username;
  10.    private String password;
  11.    public User(String username, String password) {
  12.        this.username = username;
  13.        this.password = password;
  14.    }
  15.    public User() {
  16.    }
  17.    public String getUsername() {
  18.        return username;
  19.    }
  20.    public void setUsername(String username) {
  21.        this.username = username;
  22.    }
  23.    public String getPassword() {
  24.        return password;
  25.    }
  26.    public void setPassword(String password) {
  27.        this.password = password;
  28.    }
  29.    @Override
  30.    public String toString() {
  31.        return "User{" +
  32.                "username='" + username + '\'' +
  33.                ", password='" + password + '\'' +
  34.                '}';
  35.    }
  36. }
复制代码


  • 修改index.jsp页面
  1. <html>
  2. <body>
  3. <h1>Pojo</h1>
  4. <form action="/saveUser" method="post">
  5.    username<input type="text" name="username"/><br>
  6.    password<input type="text" name="password"/><br>
  7.    <input type="submit" value="Button"/><br>
  8. </form>
  9. </body>
  10. </html>
复制代码


  • 在控制层添加请求映射
  1.  @RequestMapping("/saveUser")
  2.    public String saveUser(User user) {
  3.        System.out.println(user);
  4.        return "success";
  5.    }
复制代码


  • 运行后在页面上输入用户名和密码点击提交即可将数据通报给服务器
  • 集合绑定参数
   为了方便将数据绑定到List集合和Map集合,这里设置两个用户名和密码,一个用List集合绑定,一个用Map集合绑定
  



  • 修改index.jsp页面
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5.    <meta charset="UTF-8">
  6.    <title>Collection Binding Parameters</title>
  7. </head>
  8. <body>
  9. <h1>Collection and Map Binding Parameters</h1>
  10. <form action="/mapUser" method="post">
  11.    User: <input type="text" name="list[0].username"/><br>
  12.    Password: <input type="password" name="list[0].password"/><br>
  13.    User: <input type="text" name="map['one'].username"/><br>
  14.    Password: <input type="password" name="map['one'].password"/><br>
  15.    <input type="submit" value="Submit"/><br>
  16. </form>
  17. </body>
  18. </html>
复制代码


  • 编写集合实体类
  1. package com.pyb.pojo;
  2. import java.util.List;
  3. import java.util.Map;
  4. /**
  5. * @version 1.0
  6. * @Author 彭彦彬
  7. * @Date 2025/1/9 21:13
  8. * @注释
  9. */
  10. public class mapUser {
  11.    private String username;
  12.    private String password;
  13.    List<mapUser> list;
  14.    Map<String,mapUser> map;
  15.    public String getUsername() {
  16.        return username;
  17.    }
  18.    public void setUsername(String username) {
  19.        this.username = username;
  20.    }
  21.    public String getPassword() {
  22.        return password;
  23.    }
  24.    public void setPassword(String password) {
  25.        this.password = password;
  26.    }
  27.    public List<mapUser> getList() {
  28.        return list;
  29.    }
  30.    public void setList(List<mapUser> list) {
  31.        this.list = list;
  32.    }
  33.    public Map<String, mapUser> getMap() {
  34.        return map;
  35.    }
  36.    public void setMap(Map<String, mapUser> map) {
  37.        this.map = map;
  38.    }
  39.    @Override
  40.    public String toString() {
  41.        return "mapUser{" +
  42.                "username='" + username + '\'' +
  43.                ", password='" + password + '\'' +
  44.                ", list=" + list +
  45.                ", map=" + map +
  46.                '}';
  47.    }
  48. }
复制代码


  • 在控制层添加请求映射
  1.    @RequestMapping(path="/mapUser")     //请求映射
  2.    public String mapUser(mapUser mapuser){
  3.        System.out.println(mapuser);
  4.        return "success";
  5.    }
复制代码


  • 运行后在页面上输入用户名和密码点击提交即可将数据以集合情势通报给服务器
解决中文乱码

   在绑定参数的时候,当有中文时会出现乱码,而SpringMVC提供相识决方法,在web.xml添加过滤器进行配置即可

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

铁佛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表