iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >js怎么传各种类型参数到Controller层
  • 928
分享到

js怎么传各种类型参数到Controller层

2023-07-05 06:07:27 928人浏览 泡泡鱼
摘要

这篇文章主要讲解了“js怎么传各种类型参数到Controller层”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“js怎么传各种类型参数到Controller层”吧!一 .@RequestBo

这篇文章主要讲解了“js怎么传各种类型参数到Controller层”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“js怎么传各种类型参数到Controller层”吧!

一 .@RequestBody和@RequestParam区别

1.@RequestParam

用来处理Content-Type: 为 application/x-www-fORM-urlencoded编码的内容。(Http协议中,如果不指定Content-Type,则默认传递的参数就是application/x-www-form-urlencoded类型)

RequestParam可以接受简单类型的属性,也可以接受对象类型。 

实质是将Request.getParameter() 中的Key-Value参数Map利用spring的转化机制ConversionService配置,转化成参数接收对象或字段。

2.@RequestBody

处理HttpEntity传递过来的数据,一般用来处理非Content-Type: application/x-www-form-urlencoded编码格式的数据。

  • GET请求中,因为没有HttpEntity,所以@RequestBody并不适用。

  • POST请求中,通过HttpEntity传递的参数,必须要在请求头中声明数据的类型Content-Type,springMVC通过使用HandlerAdapter 配置的HttpMessageConverters来解析HttpEntity中的数据,然后绑定到相应的bean上。 

3.@ModelAttribute

该注解有两个用法,一个是用于方法上,一个是用于参数上;

用于方法上时: 通常用来在处理@RequestMapping之前,为请求绑定需要从后台查询的model;

用于参数上时:用来通过名称对应,把相应名称的值绑定到注解的参数bean上;要绑定的值来源于:

  • A) @SessionAttributes 启用的attribute 对象上;

  • B) @ModelAttribute 用于方法上时指定的model对象;

  • C) 上述两种情况都没有时,new一个需要绑定的bean对象,然后把request中按名称对应的方式把值绑定到bean中。

二.一些常用的传参类型 

1.字符串类型参数

getStringParam:function(){   var param={"stringParams":hidden_input_value};   //var param={};两种方式都行   // param.stringParams=hidden_input_value;   $.ajax({      url:basePath+"/ParamFormatController/getStringParam.shtml",      data:param,      type : 'POST',      dataType : 'JSON',      success:function(data){               },         })},

Controller层

      @RequestMapping("/getStringParam")    @ResponseBody    public String getStringParam(String userName) {        String passWord = userService.getUserpassword(userName);        return password;    }

2.对象类型

setObjectParam:function(){var objectParams={};objectParams.name="张三";objectParams.age="19";objectParams.sex="男";$.ajax({url:basePath+"/ParamFormatController/getObjectParam.shtml",data:objectParams,type : 'POST',dataType : 'json',success:function(data){},})},
        @RequestMapping("/getObjectParam")    @ResponseBody    public void getObjectParam(Student objectParams) {        System.out.println("姓名:" + objectParams.getName());        System.out.println("性别:" + objectParams.getSex());        System.out.println("年龄:" + objectParams.getAge());     }

3.复杂对象类型

setHardObjectParam:function(){ var objectParams = {                    schoolName:"鹏峰中学",                    data:new Date(),                    teacherNames:["张老师","李老师","王老师"],                    students:[                        {name:"小明",sex:"男",age:"19"},                        {name:"小红",sex:"男",age:"19"},                    ]                };                $.ajax({                    type: "POST",                    url:basePath+"/ParamFormatController/getHardObjectParam.shtml",                    data: JSON.stringify(objectParams),//重点                    contentType:"application/json"     //指定类型                })},

School类

public class School {    private String[] teacherNames;    private String schoolName;    private Date data;    private List<Student> students;       public String[] getTeacherNames() {        return teacherNames;    }     public void setTeacherNames(String[] teacherNames) {        this.teacherNames = teacherNames;    }     public String getSchoolName() {        return schoolName;    }     public void setSchoolName(String schoolName) {        this.schoolName = schoolName;    }     public Date getData() {        return data;    }     public void setData(Date data) {        this.data = data;    }     public List<Student> getStudents() {        return students;    }     public void setStudents(List<Student> students) {        this.students = students;    }}

Controoler

      @RequestMapping("/getHardObjectParam")    @ResponseBody    public void getHardObjectParam(@RequestBody School objectParams) {        System.out.println("学校名:" + objectParams.getSchoolName());     }

4.数组与字符串

        getArrayAndStringParam:function(){            var pointCodes= new Array(); //定义一数组              pointCodes.push("1");            pointCodes.push("2");            pointCodes.push("3");            pointCodes.push("4");            $.ajax({                  url:basePath+"/ParamFormatController/getArrayAndStringParam.shtml",                  type:"POST",                  data:{"names":pointCodes,"id":'6'},                  dataType:"json",                  success:function(res){                     }                });                     },                      @RequestMapping("/getArrayAndStringParam")    @ResponseBody    public void getArrayAndStringParam(@RequestParam(value = "names[]") String[] names, String id) {        for (int i = 0; i < names.length; i++) {            System.out.println(names[i]);        }     }

5.List字符串集合

                getListByStringParam:function(){                var orderNosList = new Array();                 orderNosList.push("List1");                orderNosList.push("List2");                orderNosList.push("List3");                orderNosList.push("List4");                $.ajax({                    url:basePath+"/ParamFormatController/getListByStringParam.shtml",                    data:{"StringList":orderNosList},                    type : 'POST',                    dataType : 'json',                    success:function(data){                                            },                })                    },        @RequestMapping("/getListByStringParam")    @ResponseBody    public void getListByStringParam(@RequestParam("StringList[]") List<String> list) {        for (int i = 0; i < list.size(); i++) {            System.out.println(list.get(i));        }     }

6.List对象集合

        @RequestMapping(value = "/getListByObjectParam")    @ResponseBody    public void getListByObjectParam(@RequestBody List<Student> students) {        for (int i = 0; i < students.size(); i++) {            Student s = students.get(i);            System.out.println(s.getName());        }     }        getListByObjectParam:function(){                 var param=[];                 var data1={"name":"张三","age":"21","sex":"2"};                                 var data2={"name":"李四","age":"24","sex":"2"};                                 param.push(data1);                                 param.push(data2);                $.ajax({                    url:basePath+"/ParamFormatController/getListByObjectParam.shtml",                    data:JSON.stringify(param),                    type : 'POST',                    contentType: "application/json",                    success:function(data){                                            },                })                    },

后续类型在补充。

感谢各位的阅读,以上就是“js怎么传各种类型参数到Controller层”的内容了,经过本文的学习后,相信大家对js怎么传各种类型参数到Controller层这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: js怎么传各种类型参数到Controller层

本文链接: https://www.lsjlt.com/news/350142.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js怎么传各种类型参数到Controller层
    这篇文章主要讲解了“js怎么传各种类型参数到Controller层”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“js怎么传各种类型参数到Controller层”吧!一 .@RequestBo...
    99+
    2023-07-05
  • js传各种类型参数到Controller层的整理方式
    目录一 .@RequestBody和@RequestParam区别1.@RequestParam2.@RequestBody3.@ModelAttribute二.一些常用的传参类型&...
    99+
    2023-02-27
    js传参数 js传参数到Controller层 js Controller层
  • SpringMVC五种类型参数传递及json传递参数
    目录案例分析:1.pom.xml2.ServletContainersInitConfig3.SpringMvcConfig4.UserController5.Address6.Us...
    99+
    2024-04-02
  • redis各种数据类型底层数据存储结构
    redis 的数据类型使用不同的底层存储结构:字符串:简单动态字符串(sds)哈希:哈希表,使用链表或跳跃表处理哈希碰撞列表:双向链表集合:哈希表或整数集合,使用布隆过滤器有序集合:跳跃...
    99+
    2024-04-19
    redis
  • Mybatis怎么传入实体类型和基本类型参数
    今天小编给大家分享一下Mybatis怎么传入实体类型和基本类型参数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Mybati...
    99+
    2023-07-02
  • Mybatis传参类型怎么确定
    这篇文章主要介绍Mybatis传参类型怎么确定,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!I. 环境配置我们使用SpringBoot + Mybatis + MySql来搭建实例demospringboot: 2....
    99+
    2023-06-25
  • js中各种数据类型检测和判定的实战示例
    目录介绍准备目标测试用例代码使用总结 介绍 在前端开发中,js 有各种各样的数据类型,数据类型检测是每个开发者都必须掌握基础知识。数据类型检测的方法也有很多种,本题将封装一...
    99+
    2022-11-13
    js数据类型检测和判定方法 js检测数据类型的方法 js检验数据类型
  • vue和js怎么传递参数
    Vue 和 JavaScript 是两个不同的技术,但它们经常一起使用。在 Vue 中,传递参数的方式与传递参数的方式在 JavaScript 中是相同的。本文将介绍 Vue 和 JavaScript 中传递参数的方法。Vue 中传递参数的...
    99+
    2023-05-24
  • SpringMVC怎么接收参数各种场景
    这篇文章主要讲解了“SpringMVC怎么接收参数各种场景”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringMVC怎么接收参数各种场景”吧!表单提交此处的表单时 -使用JSON.st...
    99+
    2023-06-25
  • Golang怎么实现函数任意类型传参
    这篇文章将为大家详细讲解有关Golang怎么实现函数任意类型传参,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。golang适合做什么golang可以做服务器端开发,但golang很适合做日志处理、数据打包...
    99+
    2023-06-14
  • Mybatis怎么传递多个不同类型的参数
    这篇文章主要介绍了Mybatis怎么传递多个不同类型的参数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Mybatis怎么传递多个不同类型的参数文章都会有所收获,下面我们一起来看看吧。Mybatis传递多个不同...
    99+
    2023-07-05
  • mybatis中怎么传递单个String类型的参数
    本篇内容主要讲解“mybatis中怎么传递单个String类型的参数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mybatis中怎么传递单个String类型的参数”吧!如何传递单个String...
    99+
    2023-06-21
  • Springcloud feign传日期类型参数报错怎么办
    这篇文章给大家分享的是有关Springcloud feign传日期类型参数报错怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。feign传日期类型参数报错Date类型参数报错在Spring clou...
    99+
    2023-06-29
  • golang怎么将各种类型转为字符串
    golang是一种非常强大的编程语言,它的特点是简洁、快速和安全。golang中提供了各种类型之间的转换方法,其中,将其他类型转换为字符串类型是常见的操作。本文将介绍golang中将各种类型转换为字符串的方法,同时也会介绍一些需要注意的问题...
    99+
    2023-05-14
  • 四种C#参数类型分别是什么
    这篇文章将为大家详细讲解有关四种C#参数类型分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C#参数类型有四种:值类型引用类型输出类型数组型参数C#参数类型(1):值参数所谓值参数,...
    99+
    2023-06-17
  • java ssm框架的controller怎么实现向页面传递参数
    本篇内容主要讲解“java ssm框架的controller怎么实现向页面传递参数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java ssm框架的controller怎么...
    99+
    2023-06-30
  • redis的五种数据类型底层数据结构是什么
    redis 提供了五种数据类型,每种类型对应特定的底层数据结构:字符串:简单动态字符串(sds),优化二进制安全字符串存储。哈希:哈希表(dict),快速键值对存储。列表:双向链表或压缩...
    99+
    2024-04-08
    键值对
  • ubuntu中怎么传参数到shell脚本
    本文小编为大家详细介绍“ubuntu中怎么传参数到shell脚本”,内容详细,步骤清晰,细节处理妥当,希望这篇“ubuntu中怎么传参数到shell脚本”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ubuntu传...
    99+
    2023-07-04
  • MySQL中怎么设置类型参数
    本篇文章给大家分享的是有关MySQL中怎么设置类型参数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。(一)连接  连接通常来自Web服务器,下...
    99+
    2024-04-02
  • Oracle各类连接超时相关参数怎么使用
    今天小编给大家分享一下Oracle各类连接超时相关参数怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、 EXPIR...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作