铁佛 发表于 2025-1-13 13:45:55

springmvc前端传参,后端接收

RequestMapping注解

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Mapping
public @interface RequestMapping {
   String name() default "";

   @AliasFor("path")
   String[] value() default {};

   @AliasFor("value")
   String[] path() default {};

   RequestMethod[] method() default {};

   String[] params() default {};

   String[] headers() default {};

   String[] consumes() default {};

   String[] produces() default {};
}   作用: 创建请求URL和处理惩罚方法之间的对应关系 出现位置:方法和类上 作用在类上:第一季访问目录 作用在方法上:第二级访问目录 留意:路径可以不写 / 表示应用的根目录开始 属性: path:指定请求的url value:value属性和path属性一样 mthod:指定该方法的请求方式 params:指定限定请求参数条件 headers:发送请求中必须包含的请求头
请求参数的绑定

   

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


[*] 以通报用户名和密码为例,修改index.jsp页面,添加绑定参数
   <html>
<body>
<h2>Hello World!</h2>
<h1>Login</h1>
<a href="/param?username=oneStar&password=123">login</a>
</body>
</html>

[*] 在控制层添加请求映射,以参数的情势进行通报
   @RequestMapping(path = "/param")
   public String user(@RequestParam("username") String username,@RequestParam("password") String password){
       System.out.println(username);
       System.out.println(password);
       return "success";
 }

[*] 实体类绑定参数


[*] 创建实体类
package com.pyb.pojo;

/**
* @version 1.0
* @Author 彭彦彬
* @Date 2025/1/9 21:01
* @注释
*/
public class User {
   private String username;
   private String password;

   public User(String username, String password) {
       this.username = username;
       this.password = password;
 }

   public User() {
 }

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

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


[*] 修改index.jsp页面
<html>
<body>
<h1>Pojo</h1>
<form action="/saveUser" method="post">
 username<input type="text" name="username"/><br>
 password<input type="text" name="password"/><br>
   <input type="submit" value="Button"/><br>
</form>
</body>
</html>


[*] 在控制层添加请求映射
 @RequestMapping("/saveUser")
   public String saveUser(User user) {
       System.out.println(user);
       return "success";
 }

[*] 运行后在页面上输入用户名和密码点击提交即可将数据通报给服务器
[*] 集合绑定参数
   为了方便将数据绑定到List集合和Map集合,这里设置两个用户名和密码,一个用List集合绑定,一个用Map集合绑定
https://i-blog.csdnimg.cn/direct/c99cb66f40264a93b7a7e951b473c649.png


[*] 修改index.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
   <meta charset="UTF-8">
   <title>Collection Binding Parameters</title>
</head>
<body>
<h1>Collection and Map Binding Parameters</h1>
<form action="/mapUser" method="post">
 User: <input type="text" name="list.username"/><br>
 Password: <input type="password" name="list.password"/><br>
 User: <input type="text" name="map['one'].username"/><br>
 Password: <input type="password" name="map['one'].password"/><br>
   <input type="submit" value="Submit"/><br>
</form>
</body>
</html>

[*] 编写集合实体类
package com.pyb.pojo;
import java.util.List;
import java.util.Map;
/**
* @version 1.0
* @Author 彭彦彬
* @Date 2025/1/9 21:13
* @注释
*/
public class mapUser {
   private String username;
   private String password;

   List<mapUser> list;
   Map<String,mapUser> map;

   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 List<mapUser> getList() {
       return list;
 }

   public void setList(List<mapUser> list) {
       this.list = list;
 }

   public Map<String, mapUser> getMap() {
       return map;
 }

   public void setMap(Map<String, mapUser> map) {
       this.map = map;
 }

   @Override
   public String toString() {
       return "mapUser{" +
               "username='" + username + '\'' +
               ", password='" + password + '\'' +
               ", list=" + list +
               ", map=" + map +
               '}';
 }
}

[*] 在控制层添加请求映射
   @RequestMapping(path="/mapUser")     //请求映射
   public String mapUser(mapUser mapuser){
       System.out.println(mapuser);
       return "success";
 }

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

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: springmvc前端传参,后端接收