问题是在一个群里看到的,通过自己查找和实验,参考网上的博文,将问题列出来。以帮助后来者和共同交流学习。
 
博文地址:http://blog.sina.com.cn/s/blog_13c30757a0102w35i.html
 
*******************************************************************

前端数据显示:点击多选框时,多选框的值变为1,未选中时值为0

 
function parseData(obj){
  if(obj.value=='1'){
obj.value='0';
  }else{
obj.value='1';
  }
}
 
前端数据传递:var isPublic=$("input[name='isPublic']").val();
 
后台数据源类型:private Boolean isPublic;
 
后台接收数据类型:不管前端的值传递的值是0还是1,isPublic的值都为false。
 
错误原因:前端将数据传递到后台都是这种格式/device/addDevice?isPublic=0,
而且传递的参数不管在前端是什么类型,在http请求中的数据都是字符串类型,所以java后台是将字符串isPublic的值转化为布尔型,但在java中String转化为boolean型的规则为:
除忽略大小写的true字符串的布尔转化值为true外,其它的都为false。所以前端传输数据0或者1,解析后的结果都为false。
 
解决办法:

前端数据显示:
 
function parseData(obj){
  if(obj.value=='1'){
obj.value='';
  }else{
obj.value='1';
  }
}
 
前端数据传递:var
isPublic=Boolean($("input[name='isPublic']").val());
 

解决原理
:在javascript中所有的字符串除了""即空字符外,其它字符串均为true,所以多选框未点击时值为"",转化为布尔值为false,传递http请求时为"false",后台解析也为false;同理多选框点击时值为"1",转化为布尔值为true,传递http请求时虽为"true",但后台解析后就会变为true。

<正则吃饺子> :关于前端往后端传递布尔值参数的问题的更多相关文章

  1. <正则吃饺子>:关于java中垃圾回收技术的简单学习总结

    知识介绍来自网络,后面会根据继续学习进行补充和适当的修改,谢谢!原文地址:http://www.importnew.com/26821.html#comment-578355 java中的垃圾回收机制 ...

  2. Http 前端向后端传递List参数

    场景 在日常项目开发中,前端向后端传参时,可能会遇到需要传 List 类型的参数.比如批量删除时将多个 ID 以集合的形式传给后台. 前端传参 此时前端传参有两种方式: 1.多个同名 key key ...

  3. 前端向后端传递formData类型的二进制文件

    // 获取到的文件file类型转换为formData类型 let formData = new FormData(); formData.append("file", file文件 ...

  4. <正则吃饺子> :关于mybatis中使用的问题(一)

    在公司项目开始之前,根据springboot .mybatis.Swagger2 整合了一个demo,在测试时候,遇到的问题,简单记录.之前在使用mybatis时候,没有注意到这一点. 1.错误:Th ...

  5. <正则吃饺子> :关于微信支付的简单总结说明(一)

    关于支付,一直想参与开发,现在根据项目中已有及参见的微信开发文档,将自己对于微信开发的流程进行简单的总结,以备后用和帮助后来者. 一.相关官方文档 微信支付官方文档:https://pay.weixi ...

  6. <正则吃饺子> :关于 Matcher 的 replaceAll 的简单使用

    在线文档地址:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh replaceAll public String replaceAll(String  ...

  7. <正则吃饺子> :关于redis配置文件参数详解

    来源于网络博文,感谢作者的分享,转载只为学习,方便查找,原文地址:http://blog.csdn.net/ljl890705/article/details/51540427 Redis是一个应用非 ...

  8. <正则吃饺子> :关于Guava中 Joiner 和 Splitter 的简单使用

    在现在项目中经常看到 这两个类的使用,开始时候不明白具体是做的什么事情,就单独拿出来学习下了,参照了网上的博文,这里主要是简单的讲讲用法. 具体对这两个类,不做过多介绍,有个在线文档,需要的可以自己去 ...

  9. <正则吃饺子> :关于redis集群的搭建、集群测试、搭建中遇到的问题总结

    项目中使用了redis ,对于其基本的使用,相对简单些,根据项目中已经提供的工具就可以实现基本的功能,但是只是这样的话,对于redis还是太肤浅,甚至刚开始时候,集群.多节点.主从是什么,他们之间是什 ...

随机推荐

  1. 前端学习——使用Ajax方式POST JSON数据包

    0.前言     本文解释怎样使用Jquery中的ajax方法传递JSON数据包,传递的方法使用POST(当然PUT又有时也是一个不错的选择).POST JSON数据包相比标准的POST格式可读性更好 ...

  2. C# HTTP请求后对gzip页面实现解压缩

    1.通过socket页面请求后的receive内容不能经过string后再进行解压缩处理 会造成错误的gzip幻数报错 推荐使用流处理 2.正确分析返回内容 分割header和页面代码部分 3.对页面 ...

  3. Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1

    Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1 http://blog.csdn.net/sunbow0 Spark ML ...

  4. python訪问redis

    python訪问redis 1 Linux上安装redis a) 下载 $ wget http://download.redis.io/releases/redis-3.0.5.tar.gz b) 编 ...

  5. Django-select_related优化查询

    对于一对一字段(OneToOneField)和外键字段(ForeignKey),可以使用select_related 来对QuerySet进行优化. select_related 返回一个QueryS ...

  6. React Examples

    是时候拿React练练手了~ https://reactjs.org/community/examples.html https://daveceddia.com/react-practice-pro ...

  7. 在html文件引入其它html文件的几种方法

    1.IFrame引入,看看下面的代码 <IFRAME NAME="content_frame" width=100% height=600 marginwidth=0 mar ...

  8. HTML5学习笔记简明版(9):变化的元素和属性

    改变的元素(Element) 下面元素在HTML5里的使用方法稍作改动以便能在web里更好的使用或者起到更大作用: 没有href属性的a元素将显示成一个占位符,并且a元素内部如今支持flow cont ...

  9. db2 命令

    很久没有些博客了.把以前用到的操作 DB2 的命令发表下可能有很多人已经发布了.就当是自己做下功课吧,以备有用之需. 1. 打开命令行窗口 #db2cmd 2. 打开控制中心 # db2cmd db2 ...

  10. 小程序 富文本 的页面展示 json 数据处理 go-echo 为小程序提供feed流服务

    go生成页面 返回给web-view {{define "DBHtmlCode"}} <!DOCTYPE html> <html lang="zh-cm ...