Jelajahi Sumber

jsp判断集合内包含元素

xiatian 1 tahun lalu
induk
melakukan
f0c0ab8f5a
21 mengubah file dengan 103 tambahan dan 69 penghapusan
  1. 12 0
      stmms-common/src/main/java/cn/com/qmth/stmms/common/utils/JspUtil.java
  2. 21 0
      stmms-web/src/main/webapp/WEB-INF/tlds/fnx.tld
  3. 1 0
      stmms-web/src/main/webapp/WEB-INF/views/include/taglib.jsp
  4. 6 6
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/arbitrateList.jsp
  5. 1 1
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/examIndex.jsp
  6. 1 1
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupEditFull.jsp
  7. 1 1
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupEditSimple.jsp
  8. 11 11
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupList.jsp
  9. 2 2
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/inspectedInfo.jsp
  10. 3 3
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/inspectedList.jsp
  11. 8 8
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/libraryList.jsp
  12. 8 8
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/markInfo.jsp
  13. 7 7
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/markerList.jsp
  14. 2 2
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/problemHistory.jsp
  15. 6 6
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/qualityList.jsp
  16. 1 1
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/rejectHistory.jsp
  17. 1 1
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/rejectList.jsp
  18. 1 1
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/scoreList.jsp
  19. 2 2
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/scoreVerifyPage.jsp
  20. 2 2
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/scoreVerifyQuery.jsp
  21. 6 6
      stmms-web/src/main/webapp/WEB-INF/views/modules/exam/trialList.jsp

+ 12 - 0
stmms-common/src/main/java/cn/com/qmth/stmms/common/utils/JspUtil.java

@@ -0,0 +1,12 @@
+package cn.com.qmth.stmms.common.utils;
+
+import java.util.Set;
+
+public class JspUtil {
+	public static boolean hasPrivilegeCode(Set<String> codes,String code) {
+		if(codes==null||code==null) {
+			return false;
+		}
+		return codes.contains(code);
+	}
+}

+ 21 - 0
stmms-web/src/main/webapp/WEB-INF/tlds/fnx.tld

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+  version="2.0">
+    
+  <description>JSTL 1.1 functions library</description>
+  <display-name>JSTL functions sys</display-name>
+  <tlib-version>1.1</tlib-version>
+  <short-name>fnx</short-name>
+  <uri>http://java.sun.com/jsp/jstl/functionss</uri>
+
+  <function>
+    <description>判断是否有权限编码</description>
+    <name>hasPrivilegeCode</name>
+    <function-class>cn.com.qmth.stmms.common.utils.JspUtil</function-class>
+    <function-signature>boolean hasPrivilegeCode(java.util.Set,java.lang.String)</function-signature>
+    <example>${fnx:hasPrivilegeCode(codes,code)}</example>  
+  </function>
+</taglib>

+ 1 - 0
stmms-web/src/main/webapp/WEB-INF/views/include/taglib.jsp

@@ -6,6 +6,7 @@
 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
 <%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>
 <%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>
 <%@ taglib prefix="fnc" uri="/WEB-INF/tlds/fnc.tld" %>
 <%@ taglib prefix="fnc" uri="/WEB-INF/tlds/fnc.tld" %>
+<%@ taglib prefix="fnx" uri="/WEB-INF/tlds/fnx.tld" %>
 <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
 <%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
 <c:set var="ctx" value="<%=request.getContextPath()%>"/>
 <c:set var="ctx" value="<%=request.getContextPath()%>"/>
 <c:set var="ctxStatic" value="${ctx}/resources"/>
 <c:set var="ctxStatic" value="${ctx}/resources"/>

+ 6 - 6
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/arbitrateList.jsp

@@ -9,23 +9,23 @@
 </head>
 </head>
 <body>
 <body>
     <ul class="nav nav-tabs">
     <ul class="nav nav-tabs">
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-mark')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-mark')}">
     	<li><a href="${ctx}/admin/exam/mark?subjectCode=${subject.code}">评卷进度</a></li>
     	<li><a href="${ctx}/admin/exam/mark?subjectCode=${subject.code}">评卷进度</a></li>
     	</c:if>
     	</c:if>
-    	<c:if test="${fn:contains(role_privilege_codes, 'exam_mark-group')}">
+    	<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group')}">
         <li><a href="${ctx}/admin/exam/group?subjectCode=${query.subjectCode}">分组管理</a></li>
         <li><a href="${ctx}/admin/exam/group?subjectCode=${query.subjectCode}">分组管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-marker')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-marker')}">
         <li><a href="${ctx}/admin/exam/marker?subjectCode=${query.subjectCode}">评卷员管理</a></li>
         <li><a href="${ctx}/admin/exam/marker?subjectCode=${query.subjectCode}">评卷员管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-trial')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-trial')}">
         <li><a href="${ctx}/admin/exam/trial?subjectCode=${query.subjectCode}">试评管理</a></li>
         <li><a href="${ctx}/admin/exam/trial?subjectCode=${query.subjectCode}">试评管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-library')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-library')}">
         <li><a href="${ctx}/admin/exam/library?subjectCode=${query.subjectCode}">任务管理</a></li>
         <li><a href="${ctx}/admin/exam/library?subjectCode=${query.subjectCode}">任务管理</a></li>
         </c:if>
         </c:if>
         <li class="active"><a href="##">仲裁管理</a></li>
         <li class="active"><a href="##">仲裁管理</a></li>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-quality')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-quality')}">
         <li><a href="${ctx}/admin/exam/quality?subjectCode=${query.subjectCode}">质量监控</a></li>
         <li><a href="${ctx}/admin/exam/quality?subjectCode=${query.subjectCode}">质量监控</a></li>
         </c:if>
         </c:if>
     </ul>
     </ul>

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/examIndex.jsp

@@ -127,7 +127,7 @@
                             <div class="accordion-inner">
                             <div class="accordion-inner">
                                 <ul class="nav nav-list">
                                 <ul class="nav nav-list">
                                 <c:forEach items="${privileges}" var="privilege">
                                 <c:forEach items="${privileges}" var="privilege">
-                                <c:if test="${fn:contains(role_privilege_codes, privilege.code)}">
+                                <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, privilege.code)}">
                                 	<c:if test="${privilege.code=='exam_score'}">
                                 	<c:if test="${privilege.code=='exam_score'}">
                                 		<c:if test="${forbiddenScore!=true}">
                                 		<c:if test="${forbiddenScore!=true}">
 	                                		<li><a href="${ctx}${privilege.privilegeUri}?privilegeCode=${privilege.code}" target="mainFrame"><i class="${privilege.icon}"></i><span data-i18n-text="${privilege.i18n}">${privilege.name}</span></a></li>
 	                                		<li><a href="${ctx}${privilege.privilegeUri}?privilegeCode=${privilege.code}" target="mainFrame"><i class="${privilege.icon}"></i><span data-i18n-text="${privilege.i18n}">${privilege.name}</span></a></li>

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupEditFull.jsp

@@ -310,7 +310,7 @@
     </div>
     </div>
     <div class="form-actions">
     <div class="form-actions">
         <a id="btnSubmit" href="##" class="btn btn-primary">保 存</a>&nbsp;
         <a id="btnSubmit" href="##" class="btn btn-primary">保 存</a>&nbsp;
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-group-delete')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group-delete')}">
         <a href="#" class="delete-button btn btn-danger">删除</a>&nbsp;
         <a href="#" class="delete-button btn btn-danger">删除</a>&nbsp;
         </c:if>
         </c:if>
         <a id="btnPre" class="btn">上一步</a>
         <a id="btnPre" class="btn">上一步</a>

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupEditSimple.jsp

@@ -158,7 +158,7 @@
             </div>
             </div>
         </div>
         </div>
     <div class="form-actions">
     <div class="form-actions">
-    	<c:if test="${fn:contains(role_privilege_codes, 'exam_mark-group-reset_edit')}">
+    	<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group-reset_edit')}">
     	<a class="btn" href="${ctx}/admin/exam/group/edit-full?subjectCode=${group.subjectCode}&number=${group.number}">重置修改</a>&nbsp;
     	<a class="btn" href="${ctx}/admin/exam/group/edit-full?subjectCode=${group.subjectCode}&number=${group.number}">重置修改</a>&nbsp;
         </c:if>
         </c:if>
         <a id="btnSubmit" href="##" class="btn btn-primary">保 存</a>
         <a id="btnSubmit" href="##" class="btn btn-primary">保 存</a>

+ 11 - 11
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/groupList.jsp

@@ -12,23 +12,23 @@
 </head>
 </head>
 <body>
 <body>
 <ul class="nav nav-tabs">
 <ul class="nav nav-tabs">
-<c:if test="${fn:contains(role_privilege_codes, 'exam_mark-mark')}">
+<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-mark')}">
     <li><a href="${ctx}/admin/exam/mark?subjectCode=${subject.code}">评卷进度</a></li>
     <li><a href="${ctx}/admin/exam/mark?subjectCode=${subject.code}">评卷进度</a></li>
     </c:if>
     </c:if>
     <li class="active"><a href="##">分组管理</a></li>
     <li class="active"><a href="##">分组管理</a></li>
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-marker')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-marker')}">
     <li><a href="${ctx}/admin/exam/marker?subjectCode=${subject.code}">评卷员管理</a></li>
     <li><a href="${ctx}/admin/exam/marker?subjectCode=${subject.code}">评卷员管理</a></li>
     </c:if>
     </c:if>
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-trial')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-trial')}">
     <li><a href="${ctx}/admin/exam/trial?subjectCode=${subject.code}">试评管理</a></li>
     <li><a href="${ctx}/admin/exam/trial?subjectCode=${subject.code}">试评管理</a></li>
     </c:if>
     </c:if>
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-library')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-library')}">
     <li><a href="${ctx}/admin/exam/library?subjectCode=${subject.code}">任务管理</a></li>
     <li><a href="${ctx}/admin/exam/library?subjectCode=${subject.code}">任务管理</a></li>
     </c:if>
     </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-arbitrate')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-arbitrate')}">
     <li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${subject.code}">仲裁管理</a></li>
     <li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${subject.code}">仲裁管理</a></li>
     </c:if>
     </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-quality')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-quality')}">
     <li><a href="${ctx}/admin/exam/quality?subjectCode=${subject.code}">质量监控</a></li>
     <li><a href="${ctx}/admin/exam/quality?subjectCode=${subject.code}">质量监控</a></li>
     </c:if>
     </c:if>
 </ul>
 </ul>
@@ -43,7 +43,7 @@
         &nbsp;
         &nbsp;
         <input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
         <input id="btnSubmit" class="btn btn-primary" type="submit" value="查询"/>
 
 
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-group-add')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group-add')}">
 	            &nbsp;
 	            &nbsp;
 	 			<a href="${ctx}/admin/exam/group/add?subjectCode=${subject.code}" class="btn">新增</a>
 	 			<a href="${ctx}/admin/exam/group/add?subjectCode=${subject.code}" class="btn">新增</a>
         </c:if>
         </c:if>
@@ -86,10 +86,10 @@
             <td>${result.scoreList}</td>
             <td>${result.scoreList}</td>
             <td>${result.selectiveIndex}</td>
             <td>${result.selectiveIndex}</td>
             <td>
             <td>
-            <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-marker')}">
+            <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-marker')}">
                 <a href="${ctx}/admin/exam/marker?subjectCode=${result.subjectCode}&groupNumber=${result.number}">${result.markerCount}</a>
                 <a href="${ctx}/admin/exam/marker?subjectCode=${result.subjectCode}&groupNumber=${result.number}">${result.markerCount}</a>
             </c:if>
             </c:if>
-            <c:if test="${!fn:contains(role_privilege_codes, 'exam_mark-marker')}">
+            <c:if test="${!fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-marker')}">
             ${result.markerCount}
             ${result.markerCount}
             </c:if>
             </c:if>
             </td>
             </td>
@@ -126,11 +126,11 @@
                             <a href="${ctx}/admin/exam/group/reset?subjectCode=${result.subjectCode}&number=${result.number}" data-number="${result.number}" class="reset-button">重置</a>
                             <a href="${ctx}/admin/exam/group/reset?subjectCode=${result.subjectCode}&number=${result.number}" data-number="${result.number}" class="reset-button">重置</a>
                         </c:if> --%>
                         </c:if> --%>
                         &nbsp;
                         &nbsp;
-                        <c:if test="${examType!='MULTI_MEDIA' && fn:contains(role_privilege_codes, 'exam_mark-group-edit')}">
+                        <c:if test="${examType!='MULTI_MEDIA' && fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group-edit')}">
                             <a href="${ctx}/admin/exam/group/edit-simple?subjectCode=${result.subjectCode}&number=${result.number}" data-number="${result.number}" class="edit-button">修改</a>
                             <a href="${ctx}/admin/exam/group/edit-simple?subjectCode=${result.subjectCode}&number=${result.number}" data-number="${result.number}" class="edit-button">修改</a>
                             &nbsp;
                             &nbsp;
                         </c:if>
                         </c:if>
-                        <c:if test="${examType=='MULTI_MEDIA' && fn:contains(role_privilege_codes, 'exam_mark-group-delete')}">
+                        <c:if test="${examType=='MULTI_MEDIA' && fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group-delete')}">
                             <a href="${ctx}/admin/exam/group/delete?subjectCode=${result.subjectCode}&number=${result.number}" data-number="${result.number}" class="delete-button">删除</a>
                             <a href="${ctx}/admin/exam/group/delete?subjectCode=${result.subjectCode}&number=${result.number}" data-number="${result.number}" class="delete-button">删除</a>
                             &nbsp;
                             &nbsp;
                         </c:if>
                         </c:if>

+ 2 - 2
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/inspectedInfo.jsp

@@ -11,10 +11,10 @@
 <body>
 <body>
     <ul class="nav nav-tabs">
     <ul class="nav nav-tabs">
         <li class="active"><a href="##">成绩复核进度</a></li>
         <li class="active"><a href="##">成绩复核进度</a></li>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_inspected_info-list')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_inspected_info-list')}">
         <li><a href="${ctx}/admin/exam/inspected/list">全卷复核</a></li>
         <li><a href="${ctx}/admin/exam/inspected/list">全卷复核</a></li>
         </c:if>
         </c:if>
-        <c:if test="${examFinish && fn:contains(role_privilege_codes, 'exam_inspected_info-score_verify')}">
+        <c:if test="${examFinish && fnx:hasPrivilegeCode(role_privilege_codes, 'exam_inspected_info-score_verify')}">
         <li><a href="${ctx}/admin/exam/score/verify/init">成绩校验</a></li>
         <li><a href="${ctx}/admin/exam/score/verify/init">成绩校验</a></li>
         </c:if>
         </c:if>
     </ul>
     </ul>

+ 3 - 3
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/inspectedList.jsp

@@ -20,11 +20,11 @@
     </form>
     </form>
 </div>
 </div>
 <ul class="nav nav-tabs">
 <ul class="nav nav-tabs">
-<c:if test="${fn:contains(role_privilege_codes, 'exam_inspected_info-info')}">
+<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_inspected_info-info')}">
         <li><a href="${ctx}/admin/exam/inspected/info">成绩复核进度</a></li>
         <li><a href="${ctx}/admin/exam/inspected/info">成绩复核进度</a></li>
         </c:if>
         </c:if>
         <li class="active"><a href="##">全卷复核</a></li>
         <li class="active"><a href="##">全卷复核</a></li>
-        <c:if test="${examFinish && fn:contains(role_privilege_codes, 'exam_inspected_info-score_verify')}">
+        <c:if test="${examFinish && fnx:hasPrivilegeCode(role_privilege_codes, 'exam_inspected_info-score_verify')}">
         <li><a href="${ctx}/admin/exam/score/verify/init">成绩校验</a></li>
         <li><a href="${ctx}/admin/exam/score/verify/init">成绩校验</a></li>
         </c:if>
         </c:if>
 </ul>
 </ul>
@@ -101,7 +101,7 @@
         <input id="btnStart" class="btn" type="button" value="批量复核:${inspectCount }" onclick="goStart()"/>
         <input id="btnStart" class="btn" type="button" value="批量复核:${inspectCount }" onclick="goStart()"/>
         </c:if>
         </c:if>
         &nbsp;
         &nbsp;
-        <c:if test="${!empty showNextInspect &&fn:contains(role_privilege_codes, 'exam_inspected_info-next_round')}">
+        <c:if test="${!empty showNextInspect &&fnx:hasPrivilegeCode(role_privilege_codes, 'exam_inspected_info-next_round')}">
         <input id="btnNextRound" class="btn" type="button" value="再次复核" onclick="nextRound()"/>
         <input id="btnNextRound" class="btn" type="button" value="再次复核" onclick="nextRound()"/>
         &nbsp;
         &nbsp;
         </c:if>
         </c:if>

+ 8 - 8
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/libraryList.jsp

@@ -88,23 +88,23 @@
 </head>
 </head>
 <body>
 <body>
 <ul class="nav nav-tabs">
 <ul class="nav nav-tabs">
-<c:if test="${fn:contains(role_privilege_codes, 'exam_mark-mark')}">
+<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-mark')}">
 	<li><a href="${ctx}/admin/exam/mark?subjectCode=${query.subjectCode}">评卷进度</a></li>
 	<li><a href="${ctx}/admin/exam/mark?subjectCode=${query.subjectCode}">评卷进度</a></li>
 	</c:if>
 	</c:if>
-	<c:if test="${fn:contains(role_privilege_codes, 'exam_mark-group')}">
+	<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group')}">
     <li><a href="${ctx}/admin/exam/group?subjectCode=${query.subjectCode}">分组管理</a></li>
     <li><a href="${ctx}/admin/exam/group?subjectCode=${query.subjectCode}">分组管理</a></li>
     </c:if>
     </c:if>
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-marker')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-marker')}">
     <li><a href="${ctx}/admin/exam/marker?subjectCode=${query.subjectCode}">评卷员管理</a></li>
     <li><a href="${ctx}/admin/exam/marker?subjectCode=${query.subjectCode}">评卷员管理</a></li>
     </c:if>
     </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-trial')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-trial')}">
     <li><a href="${ctx}/admin/exam/trial?subjectCode=${query.subjectCode}">试评管理</a></li>
     <li><a href="${ctx}/admin/exam/trial?subjectCode=${query.subjectCode}">试评管理</a></li>
     </c:if>
     </c:if>
     <li class="active"><a href="##">任务管理</a></li>
     <li class="active"><a href="##">任务管理</a></li>
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-arbitrate')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-arbitrate')}">
     <li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${query.subjectCode}">仲裁管理</a></li>
     <li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${query.subjectCode}">仲裁管理</a></li>
     </c:if>
     </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-quality')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-quality')}">
     <li><a href="${ctx}/admin/exam/quality?subjectCode=${query.subjectCode}">质量监控</a></li>
     <li><a href="${ctx}/admin/exam/quality?subjectCode=${query.subjectCode}">质量监控</a></li>
     </c:if>
     </c:if>
 </ul>
 </ul>
@@ -174,7 +174,7 @@
         &nbsp;
         &nbsp;
         <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
         <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
         &nbsp;
         &nbsp;
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-library-inspect') && examType!='MULTI_MEDIA' && inspectedCount!=null && inspectedCount>0}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-library-inspect') && examType!='MULTI_MEDIA' && inspectedCount!=null && inspectedCount>0}">
             <a id="btnInspected" target="_blank" href="${ctx}/web/admin/exam/library/inspected/start?subjectCode=${query.subjectCode}&groupNumber=${query.groupNumber}&markerId=${query.markerId}&examNumber=${query.examNumber}&secretNumber=${query.secretNumber}&startScore=${query.startScore}&endScore=${query.endScore}&questionScore=${query.questionScore}&unselective=${query.unselective}"
             <a id="btnInspected" target="_blank" href="${ctx}/web/admin/exam/library/inspected/start?subjectCode=${query.subjectCode}&groupNumber=${query.groupNumber}&markerId=${query.markerId}&examNumber=${query.examNumber}&secretNumber=${query.secretNumber}&startScore=${query.startScore}&endScore=${query.endScore}&questionScore=${query.questionScore}&unselective=${query.unselective}"
              class="btn">待复核:${inspectedCount }</a>
              class="btn">待复核:${inspectedCount }</a>
         </c:if>
         </c:if>
@@ -296,7 +296,7 @@
                 </div>
                 </div>
             </div>
             </div>
             <div style="text-align:center;">
             <div style="text-align:center;">
-            <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-library-reject')}">
+            <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-library-reject')}">
                 <a class="btn btn-primary task-btn">打回</a>
                 <a class="btn btn-primary task-btn">打回</a>
                 </c:if>
                 </c:if>
                 &nbsp;
                 &nbsp;

+ 8 - 8
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/markInfo.jsp

@@ -11,22 +11,22 @@
 <body>
 <body>
     <ul class="nav nav-tabs">
     <ul class="nav nav-tabs">
         <li class="active"><a href="##">评卷进度</a></li>
         <li class="active"><a href="##">评卷进度</a></li>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-group')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group')}">
         	<li><a href="${ctx}/admin/exam/group?subjectCode=${query.code}">分组管理</a></li>
         	<li><a href="${ctx}/admin/exam/group?subjectCode=${query.code}">分组管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-marker')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-marker')}">
         	<li><a href="${ctx}/admin/exam/marker?subjectCode=${query.code}">评卷员管理</a></li>
         	<li><a href="${ctx}/admin/exam/marker?subjectCode=${query.code}">评卷员管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-trial')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-trial')}">
         	<li><a href="${ctx}/admin/exam/trial?subjectCode=${query.code}">试评管理</a></li>
         	<li><a href="${ctx}/admin/exam/trial?subjectCode=${query.code}">试评管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-library')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-library')}">
         	<li><a href="${ctx}/admin/exam/library?subjectCode=${query.code}">任务管理</a></li>
         	<li><a href="${ctx}/admin/exam/library?subjectCode=${query.code}">任务管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-arbitrate')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-arbitrate')}">
         	<li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${query.code}">仲裁管理</a></li>
         	<li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${query.code}">仲裁管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-quality')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-quality')}">
         	<li><a href="${ctx}/admin/exam/quality?subjectCode=${query.code}">质量监控</a></li>
         	<li><a href="${ctx}/admin/exam/quality?subjectCode=${query.code}">质量监控</a></li>
         </c:if>
         </c:if>
     </ul>
     </ul>
@@ -93,11 +93,11 @@
 				    <fmt:formatNumber type="number" value="${result.subject.subjectiveScore}" pattern="###.###"/>
 				    <fmt:formatNumber type="number" value="${result.subject.subjectiveScore}" pattern="###.###"/>
 				</td>
 				</td>
 				<td>
 				<td>
-				<c:if test="${fn:contains(role_privilege_codes, 'exam_mark-group')}">
+				<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group')}">
 				<a href="${ctx}/admin/exam/group?subjectCode=${result.subject.code}">
 				<a href="${ctx}/admin/exam/group?subjectCode=${result.subject.code}">
 					${result.groupCount}</a>
 					${result.groupCount}</a>
 					</c:if>
 					</c:if>
-					<c:if test="${!fn:contains(role_privilege_codes, 'exam_mark-group')}">
+					<c:if test="${!fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group')}">
 					${result.groupCount}
 					${result.groupCount}
 					</c:if>
 					</c:if>
 				</td>
 				</td>

+ 7 - 7
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/markerList.jsp

@@ -93,23 +93,23 @@
 </head>
 </head>
 <body>
 <body>
 <ul class="nav nav-tabs">
 <ul class="nav nav-tabs">
-<c:if test="${fn:contains(role_privilege_codes, 'exam_mark-mark')}">
+<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-mark')}">
     <li><a href="${ctx}/admin/exam/mark?subjectCode=${subject.code}">评卷进度</a></li>
     <li><a href="${ctx}/admin/exam/mark?subjectCode=${subject.code}">评卷进度</a></li>
     </c:if>
     </c:if>
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-group')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group')}">
     <li><a href="${ctx}/admin/exam/group?subjectCode=${query.subjectCode}">分组管理</a></li>
     <li><a href="${ctx}/admin/exam/group?subjectCode=${query.subjectCode}">分组管理</a></li>
     </c:if>
     </c:if>
     <li class="active"><a href="##">评卷员管理</a></li>
     <li class="active"><a href="##">评卷员管理</a></li>
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-trial')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-trial')}">
     <li><a href="${ctx}/admin/exam/trial?subjectCode=${query.subjectCode}">试评管理</a></li>
     <li><a href="${ctx}/admin/exam/trial?subjectCode=${query.subjectCode}">试评管理</a></li>
     </c:if>
     </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-library')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-library')}">
     <li><a href="${ctx}/admin/exam/library?subjectCode=${query.subjectCode}">任务管理</a></li>
     <li><a href="${ctx}/admin/exam/library?subjectCode=${query.subjectCode}">任务管理</a></li>
     </c:if>
     </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-arbitrate')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-arbitrate')}">
     <li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${query.subjectCode}">仲裁管理</a></li>
     <li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${query.subjectCode}">仲裁管理</a></li>
     </c:if>
     </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-quality')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-quality')}">
     <li><a href="${ctx}/admin/exam/quality?subjectCode=${query.subjectCode}">质量监控</a></li>
     <li><a href="${ctx}/admin/exam/quality?subjectCode=${query.subjectCode}">质量监控</a></li>
     </c:if>
     </c:if>
 </ul>
 </ul>
@@ -207,7 +207,7 @@
             	<c:if test="${marker.reseting==true}">
             	<c:if test="${marker.reseting==true}">
                     正在重置
                     正在重置
                 </c:if>
                 </c:if>
-                <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-marker-reset') && marker.reseting==false}">
+                <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-marker-reset') && marker.reseting==false}">
                  &nbsp;<a href="javascript:void(0)" class="reset-button" data-id="${marker.id}">重置</a>
                  &nbsp;<a href="javascript:void(0)" class="reset-button" data-id="${marker.id}">重置</a>
                 </c:if>
                 </c:if>
             </td>
             </td>

+ 2 - 2
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/problemHistory.jsp

@@ -52,7 +52,7 @@
         &nbsp;
         &nbsp;
         <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
         <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
         
         
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_problem_history-batch_reset') && query.status=='WAITING'}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_problem_history-batch_reset') && query.status=='WAITING'}">
         <input id="btnRest" class="btn" type="button" value="批量重置" onclick="goRest()"/>
         <input id="btnRest" class="btn" type="button" value="批量重置" onclick="goRest()"/>
         </c:if>
         </c:if>
     </div>
     </div>
@@ -117,7 +117,7 @@
                 <%--  <a class="json-link" href="${ctx}/admin/exam/library/getJson?studentId=${result.id}&groupNumber=${result.number}" target="_blank">原图</a>--%>
                 <%--  <a class="json-link" href="${ctx}/admin/exam/library/getJson?studentId=${result.id}&groupNumber=${result.number}" target="_blank">原图</a>--%>
                	<a href="${ctx}/web/admin/exam/track/library?libraryId=${result.libraryId}&subjectCode=${result.subjectCode}" target="_blank">试卷详情</a>
                	<a href="${ctx}/web/admin/exam/track/library?libraryId=${result.libraryId}&subjectCode=${result.subjectCode}" target="_blank">试卷详情</a>
                 &nbsp;
                 &nbsp;
-                <c:if test="${fn:contains(role_privilege_codes, 'exam_problem_history-reset') && result.problemUserName==null}">
+                <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_problem_history-reset') && result.problemUserName==null}">
 	                <a href="##" data-id="${result.libraryId}" class="back-link">重置</a>
 	                <a href="##" data-id="${result.libraryId}" class="back-link">重置</a>
                 </c:if>
                 </c:if>
             </td>
             </td>

+ 6 - 6
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/qualityList.jsp

@@ -9,22 +9,22 @@
 </head>
 </head>
 <body>
 <body>
     <ul class="nav nav-tabs">
     <ul class="nav nav-tabs">
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-mark')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-mark')}">
 		<li><a href="${ctx}/admin/exam/mark?subjectCode=${subject.code}">评卷进度</a></li>
 		<li><a href="${ctx}/admin/exam/mark?subjectCode=${subject.code}">评卷进度</a></li>
 		</c:if>
 		</c:if>
-		<c:if test="${fn:contains(role_privilege_codes, 'exam_mark-group')}">
+		<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group')}">
         <li><a href="${ctx}/admin/exam/group?subjectCode=${query.subjectCode}">分组管理</a></li>
         <li><a href="${ctx}/admin/exam/group?subjectCode=${query.subjectCode}">分组管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-marker')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-marker')}">
         <li><a href="${ctx}/admin/exam/marker?subjectCode=${query.subjectCode}">评卷员管理</a></li>
         <li><a href="${ctx}/admin/exam/marker?subjectCode=${query.subjectCode}">评卷员管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-trial')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-trial')}">
         <li><a href="${ctx}/admin/exam/trial?subjectCode=${query.subjectCode}">试评管理</a></li>
         <li><a href="${ctx}/admin/exam/trial?subjectCode=${query.subjectCode}">试评管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-library')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-library')}">
         <li><a href="${ctx}/admin/exam/library?subjectCode=${query.subjectCode}">任务管理</a></li>
         <li><a href="${ctx}/admin/exam/library?subjectCode=${query.subjectCode}">任务管理</a></li>
         </c:if>
         </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-arbitrate')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-arbitrate')}">
         <li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${query.subjectCode}">仲裁管理</a></li>
         <li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${query.subjectCode}">仲裁管理</a></li>
         </c:if>
         </c:if>
         <li class="active"><a href="##">质量监控</a></li>
         <li class="active"><a href="##">质量监控</a></li>

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/rejectHistory.jsp

@@ -12,7 +12,7 @@
 </head>
 </head>
 <body>
 <body>
 <ul class="nav nav-tabs">
 <ul class="nav nav-tabs">
- <c:if test="${fn:contains(role_privilege_codes, 'exam_reject_list-paper')}">
+ <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_reject_list-paper')}">
     <li><a href="${ctx}/admin/exam/reject/list">打回卷</a></li>
     <li><a href="${ctx}/admin/exam/reject/list">打回卷</a></li>
     </c:if>
     </c:if>
     <li class="active"><a href="##">打回记录</a></li>
     <li class="active"><a href="##">打回记录</a></li>

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/rejectList.jsp

@@ -13,7 +13,7 @@
 <body>
 <body>
 <ul class="nav nav-tabs">
 <ul class="nav nav-tabs">
     <li class="active"><a href="##">打回卷</a></li>
     <li class="active"><a href="##">打回卷</a></li>
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_reject_list-history')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_reject_list-history')}">
     <li><a href="${ctx}/admin/exam/reject/history">打回记录</a></li>
     <li><a href="${ctx}/admin/exam/reject/history">打回记录</a></li>
     </c:if>
     </c:if>
 </ul>
 </ul>

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/scoreList.jsp

@@ -72,7 +72,7 @@
         &nbsp;
         &nbsp;
         <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
         <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
         &nbsp;
         &nbsp;
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_score-export')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_score-export')}">
             <input id="export-button" class="btn" type="button" value="导出" onclick="goExport()"
             <input id="export-button" class="btn" type="button" value="导出" onclick="goExport()"
                    <c:if test="${!enableExport}">disabled</c:if> title="${exportMessage}"/>
                    <c:if test="${!enableExport}">disabled</c:if> title="${exportMessage}"/>
         </c:if>
         </c:if>

+ 2 - 2
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/scoreVerifyPage.jsp

@@ -14,10 +14,10 @@
 </head>
 </head>
 <body>
 <body>
 	<ul class="nav nav-tabs">
 	<ul class="nav nav-tabs">
-	<c:if test="${fn:contains(role_privilege_codes, 'exam_inspected_info-info')}">
+	<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_inspected_info-info')}">
 		<li><a href="${ctx}/admin/exam/inspected/info">成绩复核进度</a></li>
 		<li><a href="${ctx}/admin/exam/inspected/info">成绩复核进度</a></li>
 		</c:if>
 		</c:if>
-		<c:if test="${fn:contains(role_privilege_codes, 'exam_inspected_info-list')}">
+		<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_inspected_info-list')}">
 		<li><a href="${ctx}/admin/exam/inspected/list">全卷复核</a></li>
 		<li><a href="${ctx}/admin/exam/inspected/list">全卷复核</a></li>
 		</c:if>
 		</c:if>
 		<li class="active"><a href="##">成绩校验</a></li>
 		<li class="active"><a href="##">成绩校验</a></li>

+ 2 - 2
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/scoreVerifyQuery.jsp

@@ -14,10 +14,10 @@
 </head>
 </head>
 <body>
 <body>
 	<ul class="nav nav-tabs">
 	<ul class="nav nav-tabs">
-	<c:if test="${fn:contains(role_privilege_codes, 'exam_inspected_info-info')}">
+	<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_inspected_info-info')}">
 		<li><a href="${ctx}/admin/exam/inspected/info">成绩复核进度</a></li>
 		<li><a href="${ctx}/admin/exam/inspected/info">成绩复核进度</a></li>
 		</c:if>
 		</c:if>
-		<c:if test="${fn:contains(role_privilege_codes, 'exam_inspected_info-list')}">
+		<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_inspected_info-list')}">
 		<li><a href="${ctx}/admin/exam/inspected/list">全卷复核</a></li>
 		<li><a href="${ctx}/admin/exam/inspected/list">全卷复核</a></li>
 		</c:if>
 		</c:if>
 		<li class="active"><a href="##">成绩校验</a></li>
 		<li class="active"><a href="##">成绩校验</a></li>

+ 6 - 6
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/trialList.jsp

@@ -12,23 +12,23 @@
 </head>
 </head>
 <body>
 <body>
 <ul class="nav nav-tabs">
 <ul class="nav nav-tabs">
-<c:if test="${fn:contains(role_privilege_codes, 'exam_mark-mark')}">
+<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-mark')}">
 	<li><a href="${ctx}/admin/exam/mark?subjectCode=${subject.code}">评卷进度</a></li>
 	<li><a href="${ctx}/admin/exam/mark?subjectCode=${subject.code}">评卷进度</a></li>
 	</c:if>
 	</c:if>
-	<c:if test="${fn:contains(role_privilege_codes, 'exam_mark-group')}">
+	<c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-group')}">
     <li><a href="${ctx}/admin/exam/group?subjectCode=${query.subjectCode}">分组管理</a></li>
     <li><a href="${ctx}/admin/exam/group?subjectCode=${query.subjectCode}">分组管理</a></li>
     </c:if>
     </c:if>
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-marker')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-marker')}">
     <li><a href="${ctx}/admin/exam/marker?subjectCode=${query.subjectCode}">评卷员管理</a></li>
     <li><a href="${ctx}/admin/exam/marker?subjectCode=${query.subjectCode}">评卷员管理</a></li>
     </c:if>
     </c:if>
     <li class="active"><a href="##">试评管理</a></li>
     <li class="active"><a href="##">试评管理</a></li>
-    <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-library')}">
+    <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-library')}">
     <li><a href="${ctx}/admin/exam/library?subjectCode=${query.subjectCode}">任务管理</a></li>
     <li><a href="${ctx}/admin/exam/library?subjectCode=${query.subjectCode}">任务管理</a></li>
      </c:if>
      </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-arbitrate')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-arbitrate')}">
     <li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${query.subjectCode}">仲裁管理</a></li>
     <li><a href="${ctx}/admin/exam/arbitrate?subjectCode=${query.subjectCode}">仲裁管理</a></li>
     </c:if>
     </c:if>
-        <c:if test="${fn:contains(role_privilege_codes, 'exam_mark-quality')}">
+        <c:if test="${fnx:hasPrivilegeCode(role_privilege_codes, 'exam_mark-quality')}">
     <li><a href="${ctx}/admin/exam/quality?subjectCode=${query.subjectCode}">质量监控</a></li>
     <li><a href="${ctx}/admin/exam/quality?subjectCode=${query.subjectCode}">质量监控</a></li>
     </c:if>
     </c:if>
 </ul>
 </ul>