2017年5月28日,晴,心情还不错。

昨晚和同事撸串,回来后继续威士忌走起,喝到凌晨2点多,聊的甚欢。彼此分享了很多自己成长过程中的故事,相互之间有了进一步的了解,友情又进了一步。在以后的时光里,愿珍惜,共勉,我的朋友们!

昨下午同事胡帮我测了一下自己负责的模块,发现了一些小问题,马上着手修BUG,很快就OK。在修BUG过程中发现了一些很多人会遇到的问题,于是趁端午节之际,写一篇博客供大家参考借鉴!

1.在JSP页面中写判断语句的注意问题

//方法1:使用<c:if>
2 <c:if test=""></c:if >

  //方法2:使用<c:choose>

 <c:choose>
       <c:when test="${roles.dataScope eq '仅自己'}">
<input type="radio" id="dataScope0" name="datascope" value="仅自己" checked>仅自己&nbsp;&nbsp;
<input type="radio" id="dataScope1" name="datascope" value="部门内">部门内&nbsp;&nbsp;
<input type="radio" id="dataScope2" name="" value="指定部门" data-toggle="modal" data-target="#myModal"
onclick="showdept();">指定部门&nbsp;&nbsp;
</c:when>
<c:when test="${roles.dataScope=='部门内'}">
<input type="radio" id="dataScope0" name="datascope" value="仅自己" checked>仅自己&nbsp;&nbsp;
<input type="radio" id="dataScope1" name="datascope" value="部门内" checked>部门内&nbsp;&nbsp;
<input type="radio" id="dataScope2" name="" value="指定部门" data-toggle="modal" data-target="#myModal"
onclick="showdept();">指定部门&nbsp;&nbsp;
</c:when>
<c:otherwise>
<input type="radio" id="dataScope0" name="datascope" value="仅自己">仅自己&nbsp;&nbsp;
<input type="radio" id="dataScope1" name="datascope" value="部门内">部门内&nbsp;&nbsp;
<input type="radio" id="dataScope2" name="" value="指定部门" checked data-toggle="modal" data-target="#myModal"
onclick="showdept();">指定部门&nbsp;&nbsp;
<span id="deptname" style="color:blue;font-weight: bold;">${roles.dataScope}</span>
</c:otherwise>
</c:choose>

注意:test="${roles.dataScope eq '仅自己'}",判断条件必须写在{}之内。

2.Mybatis操作Mysql数据库的配置文件之模糊查询

 <!--按角色名查询-->
<select id="findList" resultType="Role" resultMap="RoleMap">
select * from sys_role
<where>
`status` = 1
<if test="roleName != null and roleName != ''">
and `role_name` LIKE CONCAT(CONCAT('%', #{roleName}), '%')
</if>
</where>
</select>

注意:LIKE CONCAT(CONCAT('%', #{roleName}), '%'),"%"代表查询字段的前面和后面可以有0个或多个其他字符。如果是"-",则表示可以有1个字符。

3.当单击事件时,前面的单选按钮取消选中状态

我做的模块是角色管理模块,在增加页面有一项是数据权限。当用户点击对应按钮把相应的值存入数据表中,但是有一个问题就是如果三个"input"的name都一样的话,当点击下面的指定部门按钮选择相应部门后,存入表中的数据不是对应的部门,而是对应的value值,所以在指定部门单选按钮"input"中我么有给name值。这样的话又会出现一个新的问题,当前面两个单选按钮选中其中一个后,再点击后面的指定按钮,前面的选中状态不会取消,并且存入表中的值也是前面对应单选按钮的值,这与实际情况不符合,所以在选中指定部门后前面的单选按钮的选中状态应该取消。

JSP页面单选按钮代码:

 <input type="radio" id="dataScope0" name="datascope" value="仅自己">仅自己&nbsp;&nbsp;
<input type="radio" id="dataScope1" name="datascope" value="部门内">部门内&nbsp;&nbsp;
<input type="radio" id="dataScope2" name="" value="指定部门" data-toggle="modal" data-target="#myModal"
onclick="showdept();">指定部门&nbsp;&nbsp;
//JS中取消单选按钮选中状态的方法
1 $("#dataScope0").prop("checked",false);
$("#dataScope1").prop("checked",false);

关于在JSP页面用c标签写if语句的更多相关文章

  1. js 和 css 中 不能使用 jsp 页面中一些 标签 和 java 代码等,应注意

    js  和 css 中 不能使用 jsp  页面中一些 标签 和 java 代码等,应注意 如 ${ }  <%%>  等

  2. jsp页面中jstl标签详解

    JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...

  3. 【转】jsp页面中jstl标签详解

    原文地址: JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实 ...

  4. jsp页面中jstl标签详解[转]

    JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...

  5. Java jsp页面中jstl标签详解

    JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的.把常用的内容,放在这里备份一份,随用随查.尽量做到不用查,就可以随手就可以写出来.这算是Java程序员的基本功吧,一定要扎实. JSTL ...

  6. jsp页面中自定义标签的小演示

    在实习期遇到公司的pg自定义标签了,同事要我自己自学一下 自定义标签是用户定义的JSP语言元素.当JSP页面包含一个自定义标签时将被转化为servlet.JSP标签扩展可以让你创建新的标签并且可以直接 ...

  7. SSM框架练习之Jsp页面使用taglib标签报错500的问题

    最近在练手一个SSM的基于AdminLET框架模板的后台管理系统,使用的环境是tomcat9,使用Maven构建并通过添加Web模板框架的项目,在添加完所有的配置文件后启动tomcat运行,出现了一个 ...

  8. jsp页面 使用c 标签的 varStatus 属性和 index 解决一行显示多少个 然后进行自动换行

    jsp页面显示,一行有三条记录,自动换行 <c:forEach items="${slist}" var="s" varStatus="stat ...

  9. JSP页面用<a>标签访问 Action 出错

    问题: JSP页面 <a href="/crud1/crud1/add.action" >添加</a> struts.xml 中: <package ...

随机推荐

  1. web socket 入门

    WebSocket是HTML5开始提供的一种在单个 TCP 连接上进行全双工通讯的协议,其优雅地解决了以往web服务器不能向web客户端实时推送消息的问题. 在浏览器js环境中,创建一个websock ...

  2. C、C++打包成.dll .so .a 给Unity使用

    C.C++打包成.dll .so .a 给Unity使用 打包.dll库 工具:VS 使用VS新建项目 选择不大于.NET3.5的版本 选择Visual C++ -> Win32 控制台应用程序 ...

  3. [Leetcode]123.买卖股票的最佳时机3

    [原题链接][https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iii/] 分析:动态规划+二分法.以第i天为分界线,计 ...

  4. 修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题

    在配置MongDB的是时候出现这/lib/ld-linux.so.2问题 [root@localhost local]# /usr/local/mongodb/mongodb/bin/mongod - ...

  5. volatile双重检查锁定与延迟初始化

    一.基本概念: 1.volatile是轻量级的synchronized,在多核处理器开发中保证了共享变量的“可见性”.可见性的意思是,当一个线程修改一个共享变量时,另一个线程能读到这个修改的值. 2. ...

  6. puppeteer(headless chrome)实现网站登录

    puppeteer简介 puppeteer是Chrome团队开发的一个node库,可以通过api来控制浏览器的行为,比如点击,跳转,刷新,在控制台执行js脚本等等.有了这个神器,写个爬虫,自动签到,网 ...

  7. Java reflect 反射学习笔记

    1. class 类的使用 万事万物皆对象 (基本数据类型, 静态成员不是面向对象), 所以我们创建的每一个类都是对象, 即类本身是java.lang.Class类的实例对象, 但是这些对象不需要 n ...

  8. ThreadPoolExecutor策略配置以及应用场景

    ThreadPoolExecutor 是用来处理异步任务的一个接口,可以将其理解成为一个线程池和一个任务队列,提交到 ExecutorService 对象的任务会被放入任务队或者直接被线程池中的线程执 ...

  9. js截取字符串的后几位数

    代码如下: var str="abcdefghhhh";//截取后4位 str.substring(str.length-4):

  10. 【转载】CentOS中crontab定时计划任务的使用

    转载自:http://blog.csdn.net/testcs_dn/article/details/48780971 概述 利用“任务计划”,可以将任何脚本.程序或文档安排在某个最方便的时间运行.通 ...