• SpringMVC获取表单页面参数的几种方式


    SpringMVC注解

    1、@Controller:

    标记在类上,把类标记为SpringMVCController对象;分发处理器扫描有该注解的类的方法,并检测该方法是否使用了@RequestMapping注解

    2、@RequestMapping:

    用于处理请求地址映射;可以用于类和方法;如果用于类上;该类所有的响应请求的方法都以该地址为父路径
    参数:

    • value:请求的实际地址;默认
    • method:请求方式:GET/POST/PUT/DELETE
    • consumes:指定处理请求的提交内容类型(Content-Type)如:text/html
    • produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
    • params:指定request中必须包含某些参数值是,才让该方法处理
    • headers:指定request中必须包含某些指定的header值(请求头信息),才#让该方法处理请求

    SpringMVC获取表单页面参数的几种方式:

    表单文件:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    <html>
    <head>
        <title>登录</title>
    </head>
    <style>
        div{
            width: 500px;
            margin: 50px auto;
        }
    </style>
    <body>
    <div>
        <h2>-------用户登录--------</h2>
        <br/><br/>
        <form action="loginN" method="post">
            UserName:
            <input type="text" name="userName" />
            <br/><br/>
            PassWord:
            <input type="password" name="passWord"/>
            <br/><br/>
            <button type="submit">Login</button>
        </form>
    </div>
    </body>
    </html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    success文件:

    DOCTYPE html>
    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>登陆成功!!!!!title>
    head>
    <body>
    <h1>登陆成功!!!!h1>
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    注:
    value的值必须与表单上的form action的值一样

    (1)直接把表单的参数写在Controller相应的方法的形参中

    @Controller
    public class UserController {
    	 @RequestMapping(value = "/login1",method = RequestMethod.POST)
        public String userGetUserInfo(String userName,String passWord){
            //两个属性值必须与表单里的属性值一模一样
            System.out.println("用户名:"+userName);
            System.out.println("密码:"+passWord);
            return "success";
        }
    }    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    (2)使用HttpServletRequest接收

    @Controller
    public class UserController {
    	@RequestMapping(value = "/login2",method = RequestMethod.POST)
        public String getUserByRequest(HttpServletRequest hr) throws UnsupportedEncodingException {
            hr.setCharacterEncoding("charset=utf-8");
            String name=hr.getParameter("userName");
            String password=hr.getParameter("passWord");
            System.out.println("用户名:"+name);
            System.out.println("密码:"+password);
            return "success";
        }
    }    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    (3)通过一个bean接收

    bean文件:

    package com.mvc.beans;
    
    import lombok.Data;
    
    /**
     * @author Una
     * @date 2022/8/12 14:17
     * @description:
     */
    
    @Data
    public class User {
        //属性必须和表单属性相同
        private String userName;
        private String passWord;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    Controller文件

    @Controller
    public class UserController {
    	@PostMapping(value = "/login3")
        public String getUser(User user){
            System.out.println("用户名:"+user.getUserName());
            System.out.println("密码:"+user.getPassWord());
            return "success";
        }
    }    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    (4)JSON数据接收

    前端通过JSON的封装后提交给Controller,Controller通过Bean接收

    <script type="text/javascript">
        $(function () {
            $("#button_submit").click(function () {
                var name=$("#userName").val;
                var pwd=$("#password").val;
                var user={
                    userName:name
                    password:pwd
                };//拼装成json格式
    $.ajax({
        type:"POST",
        url:"/temp.do",
        data:user,
        success:function (data) {
            console.info("成功");
        },
        error:function(e){
            console.info("出错"+e);
        }
            });            
        });     
    });
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    @Controller
    public class UserController {
        @RequestMapping(value = "/temp.do")
        public String userGetUserInfo(String userName,String passWord){
            System.out.println("用户名:"+getUserName());
            System.out.println("密码:"+getUserPwd());
            return "success";
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    效果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    C++Qt开发——动画框架、状态机框架
    leetcode面试题之栈与队列
    项目基本搭建流程
    MVC、MVP、MVVM的区别
    pytorch-激活函数与GPU加速
    nginx的location指令(实战示例、匹配顺序、匹配冲突)
    avformat_seek_file函数介绍
    泊车功能专题介绍 ———— AVP系统基础数据交互内容
    代码随想录二刷day37
    Ubuntu 虚拟化中Android Studio 不支持HAXM(CPU不支持问题)
  • 原文地址:https://blog.csdn.net/m0_50744075/article/details/126324997