1. 程式人生 > >自定義EL函數(以將字母轉為大寫為例)

自定義EL函數(以將字母轉為大寫為例)

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函數(以將字母轉為大寫為例)