一、JSTL標籤的使用首先,讓我們先來瞭解一下JSTL標籤的使用。(1)標籤庫的配置將jstl.jar和standard.jar拷貝到WEB-INF/lib下(如果使用el運算式,不用拷貝這兩個jar)注意:JSTL只能運行在支援JSP1.2和Servlet2.3規範的容器上,如tomcat 4.x。(2)標籤庫的使用採用taglib指令引入,如:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>二、JSTL的優點為什麼使用JSTL,JSTL又有哪些優點?(1)在應用程式伺服器之間提供了一致的介面,最大程式地提高了WEB應用在各應用伺服器之間的移植。(2)簡化了JSP和WEB應用程式的開發。三、自訂標籤庫許多(web?)開源架構都提供了大量的標籤庫(taglib)。但面對各種各樣、永無止境的需求,實際應用中總會出現我們需要、但暫時無法找到或者沒有提供的一系欄標籤,由此,自訂標籤和函數應運而生。對於自訂標籤,《JSP2的自訂標籤》,以供參考。自訂標籤庫是一種非常優秀的表現層組件技術。通過使用自訂標籤庫,可以在簡單的標籤中封裝複雜的功能。當我們在JSP頁面使用一個簡單的標籤時,底層實際上由標籤處理類提供支援,從而可以使用簡單的標籤來封裝複雜的功能,從而使團隊更好地協作開發(能讓美工人員更好地參與JSP頁面的開發)。四、自訂函數庫自訂函數,簡單的講,其實就是我們寫的一些類的方法操作,需要在頁面中調用。下面以OA中出現的自訂JSTL函數為例。OA中在兩處用到了自訂JSTL函數,一處是下面的例子,需要在頁面中進行許可權的即時認證,一處是結合Freemarker和JSTL函數,動態顯示表單。業務介紹:在JSP頁面上,調用JSTL函數做即時認證,只有通過認證之後,才顯示相應的(功能)按鈕/菜單/輸入框等。1.定義函數類(方法為public static)[java] /** * JSTL函數,主要功能是可以完成許可權的即時認證 * @author Administrator * */ public class SecurityFunctions { private static AclManager aclManager; public static boolean hasPermission(int userId,String resourceSn,int permission){ return aclManager.hasPermissionByResourceSn(userId, resourceSn, permission); } //這個方法不能定義為static,因為這將導致spring無法注入 public void setAclManager(AclManager aclManager) { SecurityFunctions.aclManager = aclManager; } } 2.定義tld檔案:my.tld,並放到WEB-INF下[html] <?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"> <tlib-version>1.0</tlib-version> <short-name>my</short-name> <uri>http://www.bjsxt.com/oa/functions</uri> <function> <name>hasPermission</name> <function-class>com.bjsxt.oa.web.SecurityFunctions</function-class> <function-signature>boolean hasPermission(int, java.lang.String,int)</function-signature> </function> </taglib> 3.修改web.xml檔案,添加:[html] <jsp-config> <taglib> <taglib-uri>http://www.bjsxt.com/oa/functions</taglib-uri> <taglib-location>/WEB-INF/my.tld</taglib-location> </taglib> </jsp-config> 4.JSP頁面引入[html] www.2cto.com<%@ taglib prefix="my" uri="http://www.bjsxt.com/oa/functions" %> 注意:uri在web.xml和jsp頁面引入需要一致;web.xml中的uri可以與location一致,也可以與tld檔案中的uri一致,一般三者的uri一致5.JSP頁面使用簡單樣本:[html] ${my:testJstlFunction('teststring')} 上述JSTL函數使用樣本:[html] ssion(login.id,'person',3) }"> <a href="#" onclick="del('person.do?method=del&id=${person.id }');">刪除</a>