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>僅自己
5 <input type="radio" id="dataScope1" name="datascope" value="部門内">部門内
6 <input type="radio" id="dataScope2" name="" value="指定部門" data-toggle="modal" data-target="#myModal"
7 onclick="showdept();">指定部門
8 </c:when>
9 <c:when test="${roles.dataScope=='部門内'}">
10 <input type="radio" id="dataScope0" name="datascope" value="僅自己" checked>僅自己
11 <input type="radio" id="dataScope1" name="datascope" value="部門内" checked>部門内
12 <input type="radio" id="dataScope2" name="" value="指定部門" data-toggle="modal" data-target="#myModal"
13 onclick="showdept();">指定部門
14 </c:when>
15 <c:otherwise>
16 <input type="radio" id="dataScope0" name="datascope" value="僅自己">僅自己
17 <input type="radio" id="dataScope1" name="datascope" value="部門内">部門内
18 <input type="radio" id="dataScope2" name="" value="指定部門" checked data-toggle="modal" data-target="#myModal"
19 onclick="showdept();">指定部門
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="僅自己">僅自己
2 <input type="radio" id="dataScope1" name="datascope" value="部門内">部門内
3 <input type="radio" id="dataScope2" name="" value="指定部門" data-toggle="modal" data-target="#myModal"
4 onclick="showdept();">指定部門
//JS中取消單選按鈕選中狀态的方法
1 $("#dataScope0").prop("checked",false);
2 $("#dataScope1").prop("checked",false);