1.通过HttpServletRequest 获得

HttpServletRequest.getParameter(参数名),可以获得form表单中传递的参数,或ajax或url中传递过来的参数,
如果通过form表单传递,需要form表单中的input框的 name属性的值和传递给getParameter的参数名保持一致,大小写也要一致
@Controller
@RequestMapping("/")
public class UserController {
private UserService us;
   @ResponseBody
@RequestMapping("loginForm")
public void login(HttpServletRequest req, HttpServletResponse rsp) throws IOException{
String userName=req.getParameter("username").trim();//trim() 删除字符串前后的空格
String passWord=req.getParameter("password").trim();
String userInfo = us.check(userName, passWord);
String[] result = new String[1];
//从返回值中取出用户名存到result中
if (userInfo != "false") {
result[0]= "true";
}else {
result[0]= "false";
}
User user = new User();
user.setUserName(userName);
req.getSession().setAttribute("user",user);
//增加回显用户名
req.getSession().setAttribute("sessionAdminUserName",userName);
rsp.setContentType("application/json");
rsp.setCharacterEncoding("utf-8");
// 首先把字符串转成 JSONArray对象
JSONArray jsonArray = JSONArray.fromObject(result);
JSONObject jsobjcet = new JSONObject();
jsobjcet.put("data", jsonArray);
try {
rsp.getWriter().write(jsobjcet.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

2.通过实体传递

  controller中接收的参数直接是实体,controller将实体名传给server层,server层将实体传递给接口实现层(serverimpl),结构实现层通过get方法获取到参数的值,传递给数据层(mapper)
前提条件是form表单中的input框的name属性的值一定要与实体保持一致,包括大小写
    /**
* 新增用户
* */
@RequestMapping(value = "addUser")
@ResponseBody
public int newaddusr(User user){
Date d = new Date();
SimpleDateFormat Time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String regDate=Time.format(d);
user.setRegDate(regDate);
String authorization=user.getAuthorization();
if(authorization=="") {
authorization="1";
user.setAuthorization(authorization);
}
int status = us.addUser(user);
return status;
}

3.通过参数名直接传递

前提条件是form表单中的input框的name属性的值一定要与实体保持一致,包括大小写
    @RequestMapping("apicharts")
@ResponseBody
public List<Map<String, Object>> apicharts(String projectName,String environment,HttpServletResponse rsp,Map<String, Object> map) {
//查询项目名称列表
ats.projectName(map);
//查询环境名称列表
ats.environmentName(map);
List<Map<String, Object>> versionInfo=ats.versionCount(projectName,environment,map);
return versionInfo;
}

4. 通过@RequestParam注解获得:

参数1要与form表单中的input框的name属性的值一致,包括大小写,参数2可以理解为参数1 的别名

@RequestMapping(value="/logout")
public String logout(@RequestParam(value="参数1",required=false)String 参数2
){
......
}

原文地址:https://www.cnblogs.com/alasijia/p/9334655.html

【转载】spring mvc 后端获得前端传递过来的参数的方法的更多相关文章

  1. spring mvc 后端获得前端传递过来的参数的方法

    1.通过HttpServletRequest 获得 HttpServletRequest.getParameter(参数名),可以获得form表单中传递的参数,或ajax或url中传递过来的参数,如果 ...

  2. Spring MVC 后端获取前端提交的json格式字符串并直接转换成control方法对应的参数对象

    场景: 在web应用开发中,spring mvc凭借出现的性能和良好的可扩展性,导致使用日渐增多,成为事实标准,在日常的开发过程中,有一个很常见的场景:即前端通过ajax提交方式,提交参数为一个jso ...

  3. spring MVC 后端 接收 前端 批量添加的数据(简单示例)

    第一种方式:(使用ajax的方式) 前端代码: <%@ page contentType="text/html;charset=UTF-8" language="j ...

  4. Spring MVC如何接收浏览器传递来的请求参数--request--形参--实体类封装

    阅读目录 1. 通过HttpServletRequest获得请求参数和数据 2. 处理方法形参名==请求参数名 3. 如果形参名跟请求参数名不一样怎么办呢?用@RequestParam注解 4. 用实 ...

  5. 0056 Spring MVC如何接收浏览器传递来的请求参数--request--形参--实体类封装

    浏览器总会向服务器传递一些参数,那么Spring MVC如何接收这些参数? 先写个简单的html,向服务器传递一些书籍信息,如下: <!DOCTYPE html> <html> ...

  6. spring mvc 及NUI前端框架学习笔记

    spring mvc 及NUI前端框架学习笔记 页面传值 一.同一页面 直接通过$J.getbyName("id").setValue(id); Set值即可 二.跳转页面(bus ...

  7. Spring MVC(五)--控制器通过注解@RequestParam接受参数

    上一篇中提到,当前后端命名规则不一致时,需要通过注解@RequestParam接受参数,这个注解是作用在参数上.下面通过实例说明,场景如下: 在页面输入两个参数,控制器通过注解接受,并将接受到的数据渲 ...

  8. thinkphp 获取前端传递过来的参数

    thinkphp 获取前端传递过来的参数 use think\facade\Request; // 获取当前请求的name变量 Request::param('name'); // 获取当前请求的所有 ...

  9. Spring MVC(六)--通过URL传递参数

    URL传递参数时,格式是类似这样的,/param/urlParam/4/test,其中4和test都是参数,这就是所谓的Restful风格,Spring MVC中通过注解@RequestMapping ...

随机推荐

  1. 从输入URL到浏览页面的过程

    之前我们已经讨论过浏览器的渲染原理,今天我们来讨论下更广泛的从输入URL到渲染出页面的过程. 1. 查询该URL是否有缓存 如果有,则直接返回,没有的话,下一步 2. 查询URL对应的IP 首先,到 ...

  2. c 字符串的结束标志

    //char carray[]="nihao"; char carray[]={'a','b','c','d','\0'}; printf("array=%s" ...

  3. win10下子系统的倒腾记录

    本文是对于win10下安装ubuntu 18.04的安装.配置c语言开发环境的记录: 一.win10下面的设置,从win10的1709开始,可以完整的搞定linux子系统,如果win10版本不够的同学 ...

  4. sonca排除不扫描文件

    在pom.xml文件中的<properties>标签下加上<sonar.exclusions>XXX</sonar.exclusions>标签,如下 <pro ...

  5. CF293E Close Vertice

    如果没有边数限制就是裸的淀粉质,如果有了加上一个树状数组记边数就行了. #include<stdio.h> #include<stdlib.h> #include<str ...

  6. java关于Integer设置-128到127的静态缓存

    今天在一个java群里,看到有个群友问到如下为什么第一个为true,第二个为false. System.out.println(Integer.valueOf("50")==Int ...

  7. ICEM-缺角正方体

    原视频下载地址:https://yunpan.cn/cqKwGiMRiqN7I  访问密码 3377

  8. CentOS 修改固定IP地址

    CentOS 修改固定IP地址 参考地址:https://www.cnblogs.com/technology-huangyan/p/9146699.htmlhttps://blog.csdn.net ...

  9. redis启动、关闭脚本

    #!/bin/bash PORT= NAME=redis-server ID=`ps -ef | grep "$NAME" | grep -v "grep" | ...

  10. Git的基本使用汇总整理

    初始化一个Git仓库,使用 git init 命令,此时会创建一个默认的master分支.添加文件到Git仓库,分两步: 使用命令git add <file>,将文件添加到暂存区: 使用命 ...