el表達式補充-使用靜態方法

EL表達式:只能調用靜態方法

首先創建一個類

package com.zeroyoung.web.function;

public class MyFunction {
    public static String toUpperCase(String str){
        return str.toUpperCase();
    }
}

在WEB-INF中添加一個myFunction.tld

<?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>myfn</short-name><!-- 使用的短名稱。對應的是taglib指令中的prefix -->
    <!-- uri:把當前的方法庫綁定到一個uri地址上,在該網址上不一定存在方法庫 -->
    <uri>http://www.zeroyoung.com/functions/myfunction</uri>
    <function><!-- 自定義方法 -->
        <name>touppoercase</name><!-- 方法的名稱,是jsp頁面上使用的名稱 -->
        <!-- 指定執行的類 -->
        <function-class>com.zeroyoung.web.function.MyFunction</function-class>
        <!-- 指定執行的方法。方法名稱必須和類中的方法名稱保持一致
            注意:當方法有參數和返回值時:參數和返回值必須寫類全名(除了基本數據類型)
        -->
        <function-signature>java.lang.String toUpperCase( java.lang.String )</function-signature>
    </function>
</taglib>

在jsp當中添加支持:

<%@ taglib uri="http://www.zeroyoung.com/functions/myfunction" prefix="myfn" %>

使用:

${myfn:toUpperCase("abcdf")}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章