springmvc后台获取表单提交的数据——@ModelAttribute等方式

1、通过注解ModelAttribute直接映射表单中的参数到POJO。在from中的action写提交的路径,在input的name写参数的名称。

package com.demo.model;

public class user {
    private String username;
    private String password;
    private  int nsex;

    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 void setNsex(int nsex) {
        this.nsex = nsex;
    }

    public int getNsex() {return nsex;}
}

POJO

<%--
  Created by IntelliJ IDEA.
  User: wym
  Date: 2019/10/8
  Time: 23:17
  To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Login</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/login" method="post">
    用户名:<input type="text" name="username"/> <br><br>
    密码:<input type="password" name="password"/> <br><br>
    <input type="submit" value="提交"/>
</form>
</body>
</html>

FORM

package com.demo.controller;

import com.demo.model.user;
import com.demo.service.Userservice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import javax.servlet.http.HttpSession;

@Controller
public class LoginController {
    @Autowired
    private Userservice userService;

    @RequestMapping(value="/login", method= RequestMethod.POST)
      public String hello(@ModelAttribute user u, HttpSession session){

            session.setAttribute("user", u);
        user user = userService.findbyname(u.getUsername());
        if(user == null)
            return "loginfail";
        else if(!user.getPassword().equals(u.getPassword()))
            return "falsepaswd";
        else
        return "helloworld";
    }

}

CONTROLLER

注意!!这里只有input的参数name名称和pojo中的成员域名称完全相同才可以通过@ModelAttribute进行直接映射,否则无法被赋值的参数将会以默认值的方式呈现。

2.显然不可能form获取的内容总是某个pojo的属性,完全有可能是单独出现的。这时可以使用@RequestParam获取参数

原文地址:https://www.cnblogs.com/lbrs/p/11668954.html

时间: 2024-08-06 23:35:46

springmvc后台获取表单提交的数据——@ModelAttribute等方式的相关文章

(五)springmvc之获取表单提交的数据

8.1:使用Request <form method="post" id="form1" action="<%=request.getContextPath()%>/formData/formData_1"> <input type="text" name="username" value="用户名"/> <input type="ch

获取表单提交的数据getParameter()方法

请求对象:request public String getParameter(String name); 通过request的getParameter(String name)方法获取 表单里面的name信息 示列: HTML代码 <input type="text" name="userName"> Jsp代码 Sring userName=equest.getParameter("userName"); request 存储的数

springMVC+thymeleaf form表单提交前后台数据传递

后端: @RequestMapping(value = "/add", method=RequestMethod.POST) public String save(@ModelAttribute(value="message") Message message) { ... } 前端: <form action="#" th:action="@{/add}" th:object="${message}"

在Action中获取表单提交数据

-----------------siwuxie095 在 Action 中获取表单提交数据 1.之前的 Web 阶段是提交表单到 Servlet,在其中使用 Request 对象 的方法获取数据 2.Struts2 是提交表单到 Action,但 Action 没有 Request 对象,不能 直接使用 Request 对象获取数据 「可以间接使用 Request 对象获取数据」 3.Action 获取表单提交数据主要有三种方式: (1)使用 ActionContext 类 (2)使用 Ser

struts2入门之action获取表单提交数据

action获取表单提交数据,有三种方式: 1.根据ActionContext对象获取: 2.利用ServletActionContext类获取表单数据:(其实就是可以获取HttpServletRequest对象) 3.利用接口注入的方式获取表单数据:实现接口(ServletRequestAware) 其实以上三种方式都是action通过操作域对象来获取数据,和servlet中操作域对象有异曲同工之妙, I.通过ActionContext类获取表单提交数据,代码如下: 1 public clas

快速获取表单多条数据,使用ajax传递给后台

当表单中有多条数据需要向后台传递时,一个一个的获取显然是不可取的办法,可以借助表单的serialize()方法获取. HTML: <form id="form"> <table> <tr> <td>姓名</td> <td> <input type="text" name="name" value="张三" /> </td> <

关于表单提交的数据记录

没有enctype="multipart/form-data"参数 加上form参数 多文件表单 上面是一些表单数据的记录. 表单提交不论有没有 enctype="multipart/form-data" 参数,表单只会提交那些拥有name属性的input.表单提交的时候如果没有使用 enctype="multipart/form-data"参数,在后台可以使用getParameter(name属性)获取相应input的值,如果input是fil

thinkphp数据库添加表单提交的数据

$data['catename'] = I('catename');     获取表单的数据 $cate=D('cate');                               实例化cate表 $cate->create($data);                      根据提交数组创建数据对象 $cate->add();                                  数据对象入库

Servlet实现表单提交(注册小功能),后台获取表单数据

用servlet实现一个注册的小功能 ,后台获取数据. 注册页面: 注册页面代码 : <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="/RequestDemo/RequestDemo3"