`

接收请求参数

 
阅读更多

 

spring接收请求参数:

1,使用HttpServletRequest获取

@RequestMapping("/login.do")
public String login(HttpServletRequest request){
  String name = request.getParameter("name")
  String pass = request.getParameter("pass")
}


 2,Spring会自动将表单参数注入到方法参数,和表单的name属性保持一致。和Struts2一样

@RequestMapping("/login.do")
public String login(HttpServletRequest request,
                String name,
 @RequestParam("pass")String password) // 表单属性是pass,用变量password接收
{
  syso(name);
  syso(password)
}

3,自动注入Bean属性 

jsp页面:

<form action="login.do">
用户名:<input name="name"/>
密码:<input name="pass"/>
<input type="submit" value="登陆">
</form>
  
java 实体类
//封装的User类
public class User{
 private String name;
 private String pass;
}
 
controller java代码
@RequestMapping("/login.do")
public String login(User user)
{
  syso(user.getName());
  syso(user.getPass());
}

4.@RequestParam: 请求参数规则注解。 value属性匹配前台传递的参数(一个参数时默认),required属性此字段是否必须传值(boolean,默认为true),defaultValue此参数的默认值(存在此参数时,说明前台不必需传递参数,required为false) 

@RequestMapping("/login")  //url: /login?name=tom
   public String login(@RequestParam(value="age",required=false,defaultValue="24") String agenum,@RequestParam("name") String name){
       return "hello";
   }
 
 
5.@PathVariable: url参数注解, 一般用于从url中获取参数
@RequestMapping(value = "/system/getAllCodeTableData/{category}", method = RequestMethod.GET) 
//前台url: '/system/getAllCodeTableData/APPLICANT_ENGLISH'
public List<CodeTableModel> getCodeTableModelByCategory(@PathVariable String category) throws OTPException {   
 return codeTableService.getCodeTableModelByCategory(category);
}

  6. @ModelAttribute 传递实体对象

@RequestMapping("hello")
 public String Hello(@ModelAttribute("user") User user)
 {
   System.out.println(user.getUserName());
  return "hello";
 }
public class User {
 
 private int userID;
 private String userName;
 public int getUserID() {
  return userID;
 }
 public void setUserID(int userID) {
  this.userID = userID;
 }
 public String getUserName() {
  return userName;
 }
 public void setUserName(String userName) {
  this.userName = userName;
 }
}
 

请求地址如:/test/hello?userID=12&userName=sdfsd 或者ajax提交 data={userId:1,userName:asdf}

7.@RequestBody

@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。

然而在ajax请求往往传的都是Json对象,用 JSON.stringify(data)的方式就能将对象变成字符串。

同时ajax请求的时候也要指定dataType: "json",contentType:"application/json" 这样就可以轻易的将一个对象或者List传到Java端!

js代码

function updateFansList(fansArr) {
    if (fansArr) {
        var datas = formatObj(fansArr);
        $.ajax({
            type: "POST",
            url: "./windfarmplan/tbUserProject/updateFansList",
            dataType: "json",
            contentType: "application/json",
            data: JSON.stringify(datas),
            success: function (result) {
                console.log(result);
            }
        });
    }
}


function formatObj(fansArr) {
    var datas = [];
    console.log(fansArr);
    for (var i = 0; i < fansArr.length; i++) {
        var fan = fansArr[i];
        var data = {};
        data.key = fan.key;
        data.lon = fan.lon;
        data.lat = fan.lat;
        data.fjNo = fan.fjNo;
        data.towerItem = fan.towerItem;
        data.fanTypeId = fan.fanTypeId;
        data.selectFanTypeId = fan.selectFanTypeId;
        data.windSpeed = fan.windSpeed;
        data.airDensity = fan.airDensity;
        data.annualPowerGeneration = fan.annualPowerGeneration;
        data.fullLoadHours = fan.fullLoadHours;
        data.theoryPower = fan.theoryPower;
        data.price = fan.price;
        data.lnglatId = fan.lnglatId;
        data.height =fan.height;
        data.weibullK = fan.weibullK;
        data.towerHeight = parseFloat(fan.selectFanTypeId.split("-")[2]);
        data.province = fan.province;
        data.city = fan.city;
        data.area = fan.area;
        
        datas.push(data);
    }
    return datas;
}

java 代码:

@ResponseBody
@RequestMapping("/updateFansList")
public ReturnData updateFansList(@RequestBody List<TbUserProjectFans> fansList) {
    ReturnData returnData = new ReturnData(Boolean.TRUE);
    boolean flag = customUserProjectService.updateFansList(fansList);
    if(!flag){
        returnData.setSucc(Boolean.FALSE);
        returnData.setMessage("保存风机数据失败!");
    }
    return returnData;
}

 

} ?

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    SpringMVC后台接收请求参数的几种方式Demo

    本教程将详细解析Spring MVC后台接收请求参数的多种方式。我们将重点关注GET和POST请求,这两种请求方式在Web开发中最为常见。以下是对每种方式的详细说明: 1. **路径变量(Path Variables)** 在Spring MVC中,...

    SpringMVC接收请求参数所有方式总结

    本文将全面总结SpringMVC接收请求参数的所有方式,并探讨其背后的工作机制。 1. GET方法请求参数处理: 当使用GET方法发送请求时,参数通常附加在URL中。通过`@RequestParam`注解可以轻松地将这些参数绑定到控制器...

    传智播客struts2.1源代码_接收请求参数

    在Struts2框架中,接收请求参数主要通过Action类和ValueStack来实现。 首先,了解Struts2的Action类。Action类是用户业务逻辑的载体,每个Action对应一个特定的HTTP请求。当用户提交表单或者点击链接时,Struts2会...

    SpringMVC接收请求参数区别.docx

    在Spring MVC中,接收请求参数有多种方式,包括@RequestParam、@PathVariable、@RequestBody以及@ModelAttribute。这些注解各自适用于不同的场景,并且与HTTP请求的方法(GET、POST等)和Content-Type紧密相关。以下...

    spring根据controller中接收请求参数不同走不同service的实现方法

    在Spring MVC中,通常使用`@RequestMapping`、`@GetMapping`、`@PostMapping`等注解来定义Controller的方法,这些方法接收请求参数,然后传递给对应的Service进行处理。 2. **Service层的设计**: Service层是业务...

    快速解决SpringMVC @RequestBody 用map接收请求参数的问题

    快速解决SpringMVC @RequestBody 用map接收请求参数的问题 在 SpringMVC 中,使用 @RequestBody 注解可以将请求体中的数据转换为 Java 对象,但是在使用 map 接收请求参数时,经常会遇到一些问题。本文将讨论如何...

    Struts2之Action接收请求参数和拦截器详解

    Struts2之Action接收请求参数和拦截器详解 Struts2框架中的Action接收请求参数和拦截器详解是非常重要的知识点,本文将详细介绍Struts2之Action接收请求参数和拦截器详解的相关知识点。 一、Struts2框架中的Action...

    SPRING MVC 的请求参数获取的几种方法

    SPRING MVC 请求参数获取的几种方法 SPRING MVC 框架中,获取请求参数是非常重要的一步,下面将介绍 SPRING MVC 中获取请求参数的几种方法。 1. 使用 @PathVariable 注解获取路径中传递参数 在 SPRING MVC 中,...

    详解SpringMVC——接收请求参数和页面传参

    在Spring MVC框架中,接收请求参数和向页面传递数据是两个关键操作,它们构成了Web应用中数据交互的基础。本文将详细解析如何在Spring MVC中实现这些功能。 首先,我们来看如何**接收请求参数**: 1. **使用...

    修改请求参数 防止 SQL 注入、防止脚本注入

    这个示例可能涵盖了如何在Servlet中接收请求参数,然后如何使用适当的手段处理这些参数,以防止潜在的安全问题。具体代码分析可能包括对特殊字符的转义、使用预编译的SQL语句以及应用其他安全最佳实践。 总的来说,...

    Spring MVC实战系列教程(2)--常用请求参数接收方式

    综上所述,Spring MVC提供了多种接收请求参数的方式,开发者可以根据实际需求选择最合适的策略。`ParamPassDemo.java`的实现可能涵盖了其中的一些或全部方法,帮助我们更好地理解Spring MVC如何处理不同类型的请求...

    Go语言中的gin框架之GET/POST请求参数接收传值(五)

    在Go语言中,Gin框架是一个...总结,Gin框架在处理GET和POST请求参数时提供了多种方法,包括从URL查询字符串、JSON请求体以及Form数据中获取参数。这使得Gin成为构建Web服务的强大工具,特别是在Go语言的生态系统中。

    springMVC接收和返回参数各种情况整合

    在Spring MVC中,可以通过多种方式来接收请求参数。 #### 三、具体实现方法 ##### 3.1 直接通过方法参数接收 **方式一:** 使用方法参数名称直接映射请求参数。这种方式要求前端传入的参数名称与后端控制器方法中...

    Spring MVC请求参数与响应结果全局加密和解密详解

    Spring MVC请求参数与响应结果全局加密和解密详解 在本文中,我们将详细介绍Spring MVC请求参数与响应结果全局加密和解密的相关知识点,包括请求参数的加密和解密、响应结果的加密和解密、ContentType的处理等。 ...

    Http请求传参SpringMVC接收参数详细解析

    @RequestBody用于接收整个请求体,而@RequestParam用于接收单独的请求参数。例如,请求体包含一个JSON对象,其中包含一个数组,后端可以这样处理: ```java @RequestMapping(method = POST, value = "/...

    Java开发案例-springboot-23-自定义注解实现post请求接收单个参数值-源代码+文档.rar

    Java开发案例-springboot-23-自定义注解实现post请求接收单个参数值-源代码+文档.rar Java开发案例-springboot-23-自定义注解实现post请求接收单个参数值-源代码+文档.rar Java开发案例-springboot-23-自定义注解...

    上传文件fileupload+解决enctype= multipart/form-data无法传递其他参数

    3. **Apache Commons Fileupload**:该库提供了处理`multipart/form-data`数据的能力,可以解析接收到的请求,分离出文件和普通参数。它支持多文件上传、大文件上传,以及处理每个部分的数据。 4. **Apache Commons...

    js笔试题-接收get请求参数

    请编写一个JavaScript函数,它的用途是接收url中get请求的参数,并返回为对象, 如: var url = “https://i.cnblogs.com/EditPosts.aspx?opt=1″。 本题考察了js如何获得url为字符串,以及字符串处理的方法。 1....

    SpringBoot请求参数接收方式

    以下是Spring Boot中常见的几种请求参数接收方式的详细说明: 1. **`@RequestParam`接收:** `@RequestParam`注解用于从URL查询字符串中获取参数。例如: ```java @RequestMapping("/hello1") public String ...

Global site tag (gtag.js) - Google Analytics