`
hongwei3344661
  • 浏览: 31870 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

stringMVC获取表单数据的几种方式

 
阅读更多

1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。

复制代码
    /**
     * 1.直接把表单的参数写在Controller相应的方法的形参中
      * @param username
     * @param password
     * @return
     */
    @RequestMapping("/addUser1")
    public String addUser1(String username,String password) {
        System.out.println("username is:"+username);
        System.out.println("password is:"+password);
        return "demo/index";
    }
复制代码

url形式:http://localhost/SSMDemo/demo/addUser1?username=lixiaoxi&password=111111 提交的参数需要和Controller方法中的入参名称一致。

2、通过HttpServletRequest接收,post方式和get方式都可以。

复制代码
    /**
     * 2、通过HttpServletRequest接收
      * @param request
     * @return
     */
    @RequestMapping("/addUser2")
    public String addUser2(HttpServletRequest request) {
        String username=request.getParameter("username");
        String password=request.getParameter("password");
        System.out.println("username is:"+username);
        System.out.println("password is:"+password);
        return "demo/index";
    }
复制代码

3、通过一个bean来接收,post方式和get方式都可以。
(1)建立一个和表单中参数对应的bean

复制代码
package demo.model;

public class UserModel {
    
    private String username;
    private String password;
    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;
    }
    
}
复制代码

(2)用这个bean来封装接收的参数

复制代码
    /**
     * 3、通过一个bean来接收
      * @param user
     * @return
     */
    @RequestMapping("/addUser3")
    public String addUser3(UserModel user) {
        System.out.println("username is:"+user.getUsername());
        System.out.println("password is:"+user.getPassword());
        return "demo/index";
    }
复制代码

4、通过@PathVariable获取路径中的参数

复制代码
    /**
     * 4、通过@PathVariable获取路径中的参数
      * @param username
     * @param password
     * @return
     */
    @RequestMapping(value="/addUser4/{username}/{password}",method=RequestMethod.GET)
public String addUser4(@PathVariable String username,@PathVariable String password) { System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
复制代码

例如,访问http://localhost/SSMDemo/demo/addUser4/lixiaoxi/111111 路径时,则自动将URL中模板变量{username}和{password}绑定到通过@PathVariable注解的同名参数上,即入参后username=lixiaoxi、password=111111。
5、使用@ModelAttribute注解获取POST请求的FORM表单数据
Jsp表单如下:

复制代码
<form action ="<%=request.getContextPath()%>/demo/addUser5" method="post"> 
     用户名:&nbsp;<input type="text" name="username"/><br/>&nbsp;&nbsp;码:&nbsp;<input type="password" name="password"/><br/>
     <input type="submit" value="提交"/> 
     <input type="reset" value="重置"/> 
</form> 
复制代码

Java Controller如下:

复制代码
    /**
     * 5、使用@ModelAttribute注解获取POST请求的FORM表单数据
      * @param user
     * @return
     */
    @RequestMapping(value="/addUser5",method=RequestMethod.POST)
    public String addUser5(@ModelAttribute("user") UserModel user) {
        System.out.println("username is:"+user.getUsername());
        System.out.println("password is:"+user.getPassword());
        return "demo/index";
    }
复制代码

6、用注解@RequestParam绑定请求参数到方法入参

当请求参数username不存在时会有异常发生,可以通过设置属性required=false解决,例如: @RequestParam(value="username", required=false)

复制代码
    /**
     * 6、用注解@RequestParam绑定请求参数到方法入参
      * @param username
     * @param password
     * @return
     */
    @RequestMapping(value="/addUser6",method=RequestMethod.GET)
    public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) {
        System.out.println("username is:"+username);
        System.out.println("password is:"+password);
        return "demo/index";
    }
复制代码
分享到:
评论

相关推荐

    基于VueElementUI快速创建生成表单进行数据校验获取表单数据

    获取表单数据非常简单,只需在Vue实例上使用`this.$refs`访问到表单的引用,然后调用`validate`方法进行数据校验,最后通过`this.$refs.formRef.model`获取已填充的数据: ```js methods: { handleSubmit() { ...

    Javaweb获取表单数据的多种方式

    本文将详细介绍在Javaweb环境中获取表单数据的多种方式,以帮助开发者更好地理解和处理用户提交的信息。 首先,最常用的方式是通过HttpServletRequest对象提供的方法来获取表单数据。以下是一些关键方法: 1. `...

    jquery获取表单值

    在Web开发中,jQuery作为一个非常流行的JavaScript库,简化了许多复杂的DOM操作,特别是对于表单数据的获取与处理方面提供了极大的便利。本文将详细讲解如何使用jQuery来获取不同类型的表单控件(如文本框、文本域、...

    微信小程序例子——使用form表单获取输入框数据

    微信小程序中的`&lt;form&gt;`表单组件为开发者提供了便捷的数据收集和处理方式,结合数据绑定、事件监听、数据校验以及文件上传等功能,可以构建出丰富的用户交互体验。通过理解和熟练运用这些知识点,开发者能够更好地...

    表单数据传输方式

    本文将详细介绍两种最常用的表单数据传输方式——GET和POST,包括它们的工作原理、特点以及适用场景。 #### 二、GET方式 GET是一种用于从服务器获取数据的方式。当用户提交表单时,GET方法会将表单中的所有字段...

    C# WinForm提交表单到网页,并且获取反馈数据

    在C# WinForm应用中,提交表单到网页并接收反馈数据是一项常见的任务,这通常涉及到网络编程和HTTP协议的理解...通过学习和实践这些知识点,你将能够熟练地在C# WinForm应用中实现向网页提交表单并获取反馈数据的功能。

    jsf获取表单的两种方法

    另一种方式是通过`UIInput`组件(如`h:inputText`)的`ValueExpression`来获取表单数据。JSF会在请求处理阶段调用`UIInput`的`decode`方法,然后在`applyRequestValues`阶段将请求参数绑定到`ValueExpression`。同样...

    十分全的servlet获取表单数据

    在这个主题“十分全的servlet获取表单数据”中,我们将深入探讨如何利用Servlet来处理客户端提交的表单信息,这包括各种输入控件如文本框、密码框、选择框、单选框、复选框以及文本域的数据获取。 1. **表单基础** ...

    vue获取form表单的值示例

    Vue.js提供了一种简单的方式来实现数据的双向绑定,通过使用`v-model`指令可以轻松地将表单输入和应用状态绑定在一起。在示例中,我们看到了一个使用Element-ui组件库中的`el-input`组件的输入框: ```html 请输入...

    android获取html表单数据

    在Android开发中,有时我们需要与HTML页面交互,获取其中的表单数据。这通常涉及到混合应用的开发,比如使用WebView加载HTML页面,并通过JavaScript接口与Android原生代码进行通信。以下将详细介绍如何实现这一功能...

    获取网页表单数据并显示

    本篇将详细讲解如何使用`jsp`网页和`servlet`来获取并显示网页表单的数据。 首先,`jsp`是一种服务器端的脚本语言,它允许开发者在HTML代码中嵌入Java代码,以实现动态内容的生成。在`jsp`页面中,我们通常会创建一...

    JavaScript获取网页表单action属性的方法

    JavaScript获取网页表单的action属性是一种常用的操作,通常用于获取表单提交时要发送到的URL地址。在Web开发中,表单是用来收集用户输入数据并将其发送到服务器的HTML元素。action属性指定了表单提交后,服务器处理...

    对于JSP中表单数据存储的一种通用方法

    1. 对每个表单单独编写代码:这种方法要求在JSP、JavaBean或Servlet中使用`request.getParameter()`获取表单提交的数据。然后,手动创建SQL语句(如INSERT、UPDATE、DELETE),并调用`executeUpdate()`方法执行。...

    【JavaScript源代码】nodejs获取表单数据的三种方法实例.docx

    ### JavaScript源代码:Node.js 获取表单数据的三种方法实例 #### 一、概述 在Web开发中,Node.js作为一种流行的后端技术栈,经常被用于处理来自客户端的请求,尤其是涉及用户输入如注册和登录场景。这些场景下通常...

    servlet获取表单数据详解(十分全)

    本文将深入探讨如何使用Servlet来获取各种类型的表单数据。 首先,对于普通的输入框、密码框、隐藏字段等,我们可以使用`HttpServletRequest`对象的`getParameter()`方法。例如,如果JSP页面中有如下表单元素: ``...

    C# Winform和网页表单交互(提交和获取)

    本主题将探讨如何在C# Winform应用程序中与网页表单进行交互,包括数据的提交和获取。 首先,Winform是.NET Framework提供的一种创建Windows桌面应用程序的方式。在Winform应用中,用户界面通常由各种控件(如按钮...

    jsp 应用获取表单元素

    \n\n - 页面转发与请求转发:如果表单提交方式为GET,表单数据会附加在URL后面;如果是POST,数据则包含在请求体中。JSP可以通过request.getRequestDispatcher()进行请求转发,保留表单数据。\n\n3. 处理多值参数:\...

    asp无组件图片上传--可获取表单提交数据

    我上传的是一个留言板的实例,数据库连接为conn.asp;表单处理为submit.asp;外用类upload_asjob.asp处理图片上传; upload_5xsoft.inc 这个类集成了图片上传功能,...最重要的是还可以获取表单控件的内容!供大家学习

    解决LayUI表单获取不到data的问题

    前几天用LayUI表单进行AJAX提交的时候发现,function(data)里的data始终无法获取表单里填的值,当时我认为是出BUG了就用了$(‘#updateform’).serialize()来获取表单数据 //form表单 更新员工信息 form.on('...

    表单数据自动封装到javaBean中

    在表单数据封装过程中,这些方法会被用来设置和获取属性值。 4. **前端框架集成**: 当前,许多Web应用采用前端框架(如Angular、React或Vue.js)进行视图层的构建。这些框架同样支持数据绑定,可以与后端的...

Global site tag (gtag.js) - Google Analytics