使用springmvc参数接收boolean类型参数的问题

目录
  • springmvc参数接收boolean类型参数
  • 如何接收以is开头的boolean类型的参数
    • 开发环境
    • 问题
    • 小结一下

springmvc参数接收boolean类型参数

在开发项目过程中,发现形参对象中的boolean类型的字段isXxxx始终无法被接收,

通过查询资料发现,boolean类型的参数应当避免使用is开头进行命名,因为该类型的参数的set方法会自动命名为is+字段名,如果字段名中是is开头,会产生问题。

修改参数set方法也可以解决,is开头加set。

如何接收以is开头的boolean类型的参数

spring @RequestBody接收is开头的布尔类型的参数???

开发环境

开发工具: IDEA

问题

直接看代码:

参数不以is开头:

/**
 * 布尔类型 不带is  IDEA生成的get set方法如下:
 */
private boolean bestPricing = false;
/**
 * get方法,布尔类型是以is开头
 */
public boolean isBestPricing() {
   return bestPricing;
}
/**
 * set方法
 */
public void setBestPricing(boolean bestPricing) {
    this.bestPricing = bestPricing;
}
参数以is开头:
/**
 * 布尔类型 不带is  IDEA生成的get set方法如下:
 */
private boolean isBestPricing = false;
/**
 * get方法,布尔类型是以is开头
 */
public boolean isBestPricing() {
   return bestPricing;
}
/**
 * set方法
 */
public void setBestPricing(boolean bestPricing) {
    this.bestPricing = bestPricing;
}

小结一下

会发现:

1.java中,boolean类型的参数对应的set方法时isxxx();

2.布尔类型的参数不管是不是以“is”前缀开头,通过IDEA生成的get,set方法都是一样的。这里就有一个坑,如果你参数是以“is”开头,自动生成的get,set方法就拿不到值!!!会导致用实体接收前端参数时,对应的字段没有值。还有就是jsp获取值也获取不到。

3.所以建议,设计数据库时,boolean类型的字段不要以is开头!!

4.还有jsp页面用jstl标签获取实体里面某个属性值时,只要有一个get方法就行。实体里面可以不要属性。如:<c:set var=“isAdd” value="${bestPolicy.create}"/> bestPolicy实体里面可以没有create这个字段,只要有isCreate()或者getCreate方法

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Spring Mvc中传递参数方法之url/requestMapping详解

    前言 相信大家在使用spring的项目中,前台传递参数到后台是经常遇到的事, 我们必须熟练掌握一些常用的参数传递方式和注解的使用,本文将给大家介绍关于Spring Mvc中传递参数方法之url/requestMapping的相关内容,分享出来供大家参考学习,话不多说,直接上正文. 方法如下 1. @requestMapping: 类级别和方法级别的注解, 指明前后台解析的路径. 有value属性(一个参数时默认)指定url路径解析,method属性指定提交方式(默认为get提交) @Reques

  • springmvc接口接收参数与请求参数格式的整理

    目录 springmvc接口接收参数与请求参数格式 一.首先我们需要认识下http请求中的Content-Type 二.注解@RequestParam(value="id") 三.注解@RequestBody springmvc接口接受前端传递参数数据类型总结 一.springMVC中controller参数是自动注入 二. 接受前端传递的对象 三.小结一下 springmvc接口接收参数与请求参数格式 前言: 相信大家在刚开始接触接口定义与调用时遇到过接口接收不到请求参数的问题,本人

  • SpringMVC如何接收参数各种场景

    目录 表单提交 表单提交二 后台代码接收方式一 后台代码接收方式二 表单提交 此处的表单时 -使用JSON.stringify()函数将数组转换成json类型提交后台,后台使用@RequestBody User user接受处理 页面js //新增提交按钮 $("#buildsubmit").click(function() { var param = $(".form").serializeJson(); $.ajax({ type: 'post', url: p

  • SpringMVC接收复杂集合对象(参数)代码示例

    SpringMVC在接收集合请求参数时,需要在Controller方法的集合参数里前添加@RequestBody,而@RequestBody默认接收的enctype(MIME编码)是application/json,因此发送POST请求时需要设置请求报文头信息,否则SpringMVC在解析集合请求参数时不会自动的转换成JSON数据再解析成相应的集合.以下列举接收List<String>.List<User>.List<Map<String,Object>>.

  • 使用springmvc参数接收boolean类型参数的问题

    目录 springmvc参数接收boolean类型参数 如何接收以is开头的boolean类型的参数 开发环境 问题 小结一下 springmvc参数接收boolean类型参数 在开发项目过程中,发现形参对象中的boolean类型的字段isXxxx始终无法被接收, 通过查询资料发现,boolean类型的参数应当避免使用is开头进行命名,因为该类型的参数的set方法会自动命名为is+字段名,如果字段名中是is开头,会产生问题. 修改参数set方法也可以解决,is开头加set. 如何接收以is开头的

  • 解决SpringMVC Controller 接收页面传递的中文参数出现乱码的问题

    新配置一个spring的MVC项目,发现对Get请求的中文参数出现了乱码: 查看了SpingMVC中关于编码的配置(在web.xml中),如下: <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param>

  • Spring MVC实现GET请求接收Date类型参数

    目录 SpringMVC GET请求接收Date类型参数 Controller方法定义 SpringMVC接收哪些类型参数参数 支持的数据类型 使用要求 自定义类型转换器 使用 ServletAPI 对象作为方法参数 SpringMVC GET请求接收Date类型参数 Controller方法定义 @GetMapping('/list-by-date') ResponseBean listByUserIdAndDateRange(@DateTimeFormat(pattern = "yyyy-M

  • Spring MVC请求参数接收的全面总结教程

    前提 在日常使用SpringMVC进行开发的时候,有可能遇到前端各种类型的请求参数,这里做一次相对全面的总结.SpringMVC中处理控制器参数的接口是HandlerMethodArgumentResolver,此接口有众多子类,分别处理不同(注解类型)的参数,下面只列举几个子类: RequestParamMethodArgumentResolver:解析处理使用了@RequestParam注解的参数.MultipartFile类型参数和Simple类型(如long.int)参数. Reques

  • SpringMVC 参数绑定相关知识总结

    请求进入DispatcherServlet的doDispatch后,获取HandlerMethod.然后根据HandlerMethod来确认HandlerApapter,确认后执行HandlerAdapter的handle方法.这里确认HandlerApater为RequestMappingHandlerAdapter,在执行handlerMethod之前,需要处理参数的绑定. 1. 简单参数绑定 执行HandlerAdapter的handler方法后,进入RequestMappingHandl

  • 解决angular的post请求后SpringMVC后台接收不到参数值问题的方法

    这是我后台SpringMVC控制器接收isform参数的方法,只是简单的打出它的值: @RequestMapping(method = RequestMethod.POST) @ResponseBody public Map<String, Object> save( @RequestParam(value = "isform", required = false) String isform) { System.out.println("isform value

  • SpringMvc直接接收json数据自动转化为Map的实例

    springMvc直接接收json数据自动转化为Map ,必须加上@RequestBody注解并且前台ajax发送请求的时候需要对数据进行格式化 $.ajax({ type : "POST", url : "/search", data :JSON.stringify(searchData), contentType:"application/json", dataType : "json", success : functi

  • springmvc 参数绑定总结

    最近在学习springmvc,今天把springmvc 参数绑定给整理一下,也算个学习笔记吧! @RequestParam 绑定单个请求 RequestMapping(value = "/form2") @ResponseBody public String form2(@RequestParam String name){ logger.info("name=" + name ); return ""; } @RequestParam 有req

随机推荐