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. POJ 2601

    #include<iostream> #include<iomanip> #include<stdio.h> using namespace std; int ma ...

  2. xamarin 编译出现Xamarin.Build.Forms.Tasks.GetTaskAbi 无法加载的错误解决方法

    最新升级最新的vs2017后发现编译xamarin forms 会出现错误 Xamarin.Forms.Build.Tasks.GetTasksAbi task could not be loaded ...

  3. Scala使用Akka模拟RPC机制代码2

    RemoteMessage.scala //对象要序列化才能通过网络传输 这个地方没有大括号....这有这个extends声明 trait RemoteMessage extends Serializ ...

  4. 线程中的读写锁ReadWriteLock

    Lock锁还有两个非常强大的类 ReadWriteLock接口实现类ReentrantReadWriteLock(非常重要的锁) 想实现 读取的时候允许多线程并发访问,写入的时候不允许. 这种效果.. ...

  5. (转)MVC 与三层架构

    原文:https://juejin.im/post/5929259b44d90400642194f3 MVC 与三层架构 一.简述 在软件开发中,MVC与三层架构这两个专业词汇经常耳闻,同时总有很多人 ...

  6. Hadoop2源码分析-RPC机制初识

    1.概述 上一篇博客,讲述Hadoop V2的序列化机制,这为我们学习Hadoop V2的RPC机制奠定了基础.RPC的内容涵盖的信息有点多,包含Hadoop的序列化机制,RPC,代理,NIO等.若对 ...

  7. springboot-27-整合mybatis,druid连接池

    sprinboot整合mybatis, 有2种方式, 第一种完全使用注解的方式, 还有一种就是使用xml文件的方式 项目使用gradle + idea, 数据源使用druid, 多使用groovy编写 ...

  8. postgresql 清空数据表数据

    在 mysql中,只需要执行: TRUNCATE table_name; 即可,数据会情况,而且自增id也会变回0: 但在 postgresql 则稍有不同,因为 postgresql 的自增id是通 ...

  9. 面试题-----按位翻转32位unsigned

    // test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #include < ...

  10. MySQL主主复制以及使用keepalived保证高可用

    1:准备工作 MySQL的安装步骤在此处省略:安装完成一定要做以下准备工作,初始化MySQL,/usr/bin/mysql_secure_installation,设置root密码,删除无效账户以及t ...