问题是在一个群里看到的,通过自己查找和实验,参考网上的博文,将问题列出来。以帮助后来者和共同交流学习。
 
博文地址: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. Irrlicht 3D Engine 笔记系列之 教程4 - Movement

    作者: i_dovelemon 日期: 2014 / 12 / 16 来源: CSDN 主题: Event Receiver, Animator, Framerate independent move ...

  2. 蜗牛—Android基础之button监听器

    XML文件中有一个textView 和 一个button. <LinearLayout xmlns:android="http://schemas.android.com/apk/re ...

  3. Solaris 目录与文件管理

    熟悉系统目录结构 掌握27个常用命令 掌握针对目录.文件的操作 掌握查找与文件内容的操作 一.命令 命令:内部命令(不依赖其他文件,可以直接执行)与外部命令 .他是用于实现某一类功能的指令或程序,其执 ...

  4. 笔记本Charge与Vcore方案

    一.笔记本Vcore方案  EC管理智能电池的方案名词简介 我所知道的EC====>Battery 立錡VCORE解決方案簡介 ATX Power Supply 涡轮加速升压(turbo-boo ...

  5. C++入门一

    C++ 项目结构 Resource Files: 项目引用的位图文件,图标,窗口,光标等.比如,你的程序要生成一个exe文件,而文件的图标是你自定义的图标,那就要在这个工程里面添加Icon资源,添加一 ...

  6. jsp页面设置绝对路径

    例子: 设置完之后就随便jsp页面放在哪个文件夹都可以加载到资源了 <%@ page language="java" contentType="text/html; ...

  7. 轻松搞定RabbitMQ(三)——消息应答与消息持久化

    转自 http://blog.csdn.net/xiaoxian8023/article/details/48710653 这个官网的第二个例子中的消息应答和消息持久化部分.我把它摘出来作为单独的一块 ...

  8. python--简易员工信息系统编写

    补充内容:eval 将字符串变成变量名locals   看输入的是否是字典中的一个keyfunc.__name____怎么看变量名的数据类型斐波那契数列 li=[1,1] while li[-1]&l ...

  9. mysql_num_rows

    mysql记录总条数 $sql3 = "select * from inviter where tuijianren = '$session' "; $res3 = mysql_q ...

  10. db2 命令

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