springmvc五种数据提交方式

简介: springmvc五种数据提交方式

springmvc五种数据提交方式

1、单个提交数据

页面:

<form action="${pageContext.request.contextPath}/one.action">
      姓名:<input name="myname"><br>
      年龄:<input name="age"><br>
      <input type="submit" value="提交">
  </form>

action类

@RequestMapping("/one")
    public String one(String myname,int age){  
         ===>自动注入,并且类型转换
        System.out.println("myname="+myname+",age="+(age+100));
        return "main";
    }

2、对象封装提交数据

在提交请求中,保证请求参数的名称与实体类中成员变量的名称一致,则可以自动创建对象,则可以自动提交数据,自动类型转换,自动封装数据到对象中.

实体类:

public class Users {
    private String name;
    private int age;}

页面:

<form action="${pageContext.request.contextPath}/two.action" method="post">
      姓名:<input name="name"><br>
      年龄:<input name="age"><br>
      <input type="submit" value="提交">
  </form>

action:

@RequestMapping("/two")
    public String two(Users u){
        System.out.println(u);
        return "main";
    }

3、动态占位符提交

仅限于超链接或地址拦提交数据.它是一杠一值,一杠一大括号,使用注解@PathVariable来解析.

页面:

<a href="${pageContext.request.contextPath}/three/张三/22.action">动态提交</a>    

action:

@RequestMapping("/three/{uname}/{uage}")
    public String three(
            @PathVariable("uname")  ===>用来解析路径中的请求参数
            String name,
            @PathVariable("uage")
            int age){
        System.out.println("name="+name+",age="+(age+100));
        return "main";
    }

4、映射名称不一致

提交请求参数与action方法的形参的名称不一致,使用注解@RequestParam来解析

页面:

<form action="${pageContext.request.contextPath}/four.action">
    <input name="name">
    <input name="age">
    <input type="submit" value="提交"/>
</form>

action:

@RequestMapping("/four")
    public String four(
        @RequestParam("name") String uname, 
        @RequestParam("age")int uage){
        System.out.println("uname=" + uname + ",uage=" + (uage+100));
        return "main";
    }

5、手工提取数据

页面:

<form action="${pageContext.request.contextPath}/five.action">
    <input name="name">
    <input name="age">
    <input type="submit" value="提交"/>
</form>

action:

@RequestMapping("/five")
    public String five(HttpServletRequest request){
        String uname = request.getParameter("name");
        Integer uage = Integer.parseInt(request.getParameter("age"));
        System.out.println("uname=" + uname + ",uage=" + (uage+100));
        return "main";
    }

补充:中文乱码解决方案

web.xml文件中配置过滤器.

<filter>
        <filter-name>encode</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <!--
          配置参数
            private String encoding;
            private boolean forceRequestEncoding;
            private boolean forceResponseEncoding;
        -->
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceRequestEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>forceResponseEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>encode</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping> 


相关文章
|
5月前
|
前端开发
第一种方式:使用form表单将前端数据提交到servelt(将前端数据提交到servlet)
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
第一种方式:使用form表单将前端数据提交到servelt(将前端数据提交到servlet)
|
5月前
|
前端开发 JavaScript
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
这篇文章介绍了使用AJAX技术将前端页面中表单接收的多个参数快速便捷地传输到后端servlet的方法,并通过示例代码展示了前端JavaScript中的AJAX调用和后端servlet的接收处理。
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
|
5月前
|
前端开发 Java 应用服务中间件
SpringMVC几种创建方式以及配置
SpringMVC几种创建方式以及配置
49 0
|
7月前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
126 5
|
安全 Java 程序员
SpringBoot中如何实现业务校验,这种方式才叫优雅!
SpringBoot中如何实现业务校验,这种方式才叫优雅!
207 0
|
安全 Java 程序员
SpringBoot中实现业务校验,这种方式才叫优雅!
SpringBoot中实现业务校验,这种方式才叫优雅!
199 0
QGS
浅谈SpringMVC的五种数据提交方式
浅谈SpringMVC的五种数据提交方式
QGS
107 0
|
前端开发 Java Spring
源码浅析SpringMVC请求的流转过程
Spring MVC框架使用了其”模型-视图-控制器”( Model-View-Controller )架构方式,用于开发灵活且松散耦合的 Web 应用程序。我们都使用过SpringMVC来处理信息,并渲染视图到Browser。但需要注意的是,在现在的架构中,大都采用了前后端分离的情况,而我们在使用SpringMVC的时候,只需要关注M(Model),C(Controller)这两个部分,而视图渲染的部分则交给了前端。
327 0
源码浅析SpringMVC请求的流转过程
SpringBoot用注解实现异步--保证用户浏览体验
SpringBoot用注解实现异步--保证用户浏览体验
SpringBoot用注解实现异步--保证用户浏览体验