1. 程式人生 > >關於在JSP頁面用c標簽寫if語句

關於在JSP頁面用c標簽寫if語句

targe res roles click 模糊查詢 多個 下午 new other

2017年5月28日,晴,心情還不錯。

昨晚和同事擼串,回來後繼續威士忌走起,喝到淩晨2點多,聊的甚歡。彼此分享了很多自己成長過程中的故事,相互之間有了進一步的了解,友情又進了一步。在以後的時光裏,願珍惜,共勉,我的朋友們!

昨下午同事胡幫我測了一下自己負責的模塊,發現了一些小問題,馬上著手修BUG,很快就OK。在修BUG過程中發現了一些很多人會遇到的問題,於是趁端午節之際,寫一篇博客供大家參考借鑒!

1.在JSP頁面中寫判斷語句的註意問題

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

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

2
<c:choose>
 3       <c:when test="${roles.dataScope eq ‘僅自己‘}">
 4              <input type="radio" id="dataScope0" name="datascope" value="僅自己" checked>僅自己&nbsp;&nbsp;
 5              <input type="radio" id="dataScope1" name="datascope" value="部門內">部門內&nbsp;&nbsp;
6 <input type="radio" id="dataScope2" name="" value="指定部門" data-toggle="modal" data-target="#myModal" 7 onclick="showdept();">指定部門&nbsp;&nbsp; 8 </c:when> 9 <c:when test="${roles.dataScope==‘部門內‘}"> 10 <input
type="radio" id="dataScope0" name="datascope" value="僅自己" checked>僅自己&nbsp;&nbsp; 11 <input type="radio" id="dataScope1" name="datascope" value="部門內" checked>部門內&nbsp;&nbsp; 12 <input type="radio" id="dataScope2" name="" value="指定部門" data-toggle="modal" data-target="#myModal" 13 onclick="showdept();">指定部門&nbsp;&nbsp; 14 </c:when> 15 <c:otherwise> 16 <input type="radio" id="dataScope0" name="datascope" value="僅自己">僅自己&nbsp;&nbsp; 17 <input type="radio" id="dataScope1" name="datascope" value="部門內">部門內&nbsp;&nbsp; 18 <input type="radio" id="dataScope2" name="" value="指定部門" checked data-toggle="modal" data-target="#myModal" 19 onclick="showdept();">指定部門&nbsp;&nbsp; 20 <span id="deptname" style="color:blue;font-weight: bold;">${roles.dataScope}</span> 21 </c:otherwise>
</c:choose>

註意:test="${roles.dataScope eq ‘僅自己‘}",判斷條件必須寫在{}之內。

2.Mybatis操作Mysql數據庫的配置文件之模糊查詢

 1 <!--按角色名查詢-->
 2     <select id="findList" resultType="Role" resultMap="RoleMap">
 3         select * from sys_role
 4         <where>
 5         `status` = 1
 6             <if test="roleName != null and roleName != ‘‘">
 7             and `role_name` LIKE CONCAT(CONCAT(‘%‘, #{roleName}), ‘%‘)
 8             </if>
 9         </where>
10     </select>

註意:LIKE CONCAT(CONCAT(‘%‘, #{roleName}), ‘%‘),"%"代表查詢字段的前面和後面可以有0個或多個其他字符。如果是"-",則表示可以有1個字符。

3.當單擊事件時,前面的單選按鈕取消選中狀態

我做的模塊是角色管理模塊,在增加頁面有一項是數據權限。當用戶點擊對應按鈕把相應的值存入數據表中,但是有一個問題就是如果三個"input"的name都一樣的話,當點擊下面的指定部門按鈕選擇相應部門後,存入表中的數據不是對應的部門,而是對應的value值,所以在指定部門單選按鈕"input"中我麽有給name值。這樣的話又會出現一個新的問題,當前面兩個單選按鈕選中其中一個後,再點擊後面的指定按鈕,前面的選中狀態不會取消,並且存入表中的值也是前面對應單選按鈕的值,這與實際情況不符合,所以在選中指定部門後前面的單選按鈕的選中狀態應該取消。

JSP頁面單選按鈕代碼:

1 <input type="radio" id="dataScope0" name="datascope" value="僅自己">僅自己&nbsp;&nbsp;
2 <input type="radio" id="dataScope1" name="datascope" value="部門內">部門內&nbsp;&nbsp; 
3 <input type="radio" id="dataScope2" name="" value="指定部門" data-toggle="modal" data-target="#myModal"
4         onclick="showdept();">指定部門&nbsp;&nbsp;
//JS中取消單選按鈕選中狀態的方法
1
$("#dataScope0").prop("checked",false); 2 $("#dataScope1").prop("checked",false);

關於在JSP頁面用c標簽寫if語句