自定義EL函數(以將字母轉為大寫為例)
阿新 • • 發佈:2018-09-11
content static prefix encoding XML turn code location oca
Step1
定義一個類:StringFunction.java
主要作用是來提供轉大寫的方法;
public class StringFunction { public static String toUpper(String str) { return str.toUpperCase(); } }
Step2
定義一個tld文件:dssfn.tdl
<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> <!-- 指定函數庫的名稱,一個函數庫對應一個名稱,通常與文件名形同,該名稱會在jsp文件中使用的到 --> <short-name>dssfn</short-name> <!-- 指定該函數庫所對應的url,一個庫對應一個url,也是會在jsp中用到--> <uri>http://www.monkey1024.com/jsp/monkeyTLD</uri> <function> <!-- 指定將來在jsp el中使用該函數的名稱,一般與類中的靜態方法一致 --> <name>toUpper</name> <!-- 指定該函數定義在哪個類中 --> <function-class>com.dss.function.StringFunction</function-class> <!-- 指定類中的方法 --> <function-signature>java.lang.String toUpper(java.lang.String)</function-signature> </function> </taglib>
Step3
在jsp中調用其方法:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://www.monkey1024.com/jsp/monkeyTLD" prefix="dssfn"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body>
${dssfn:toUpper("dss") } </body> </html>
在瀏覽器中的打印結果為:
自定義EL函數(以將字母轉為大寫為例)