首先定義一個本身的類,在類中定義本身想實現的方法,固然此方法爲靜態方法,列如定義一個將字符串的每一個單詞換成大寫:java
/** * 自定義函數標籤 * */ public class MyFunctionTag { /** * 方法必須是靜態的 * */ public static String cap(String text) { String[] arr = text.split("\\s+"); StringBuffer sb = new StringBuffer(); for(String str : arr) { sb.append(str.substring(0, 1).toUpperCase() + str.substring(1)); sb.append(" "); } if(sb.length() >= 1) { sb.deleteCharAt(sb.length()-1); } return sb.toString(); } }
既然函數寫好了,那麼在建這樣一個/WEB-INF/tag/myfun.tld文件,接上:
web
<?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>//是否是不準要寫,可把鼠標放在taglib xmlns=".."就能夠看到了 <short-name>myfn</short-name>//別名 <uri>http://tag.zs.com/myfun</uri> <function> <name>cap</name> <function-class>com.kzw.tag.MyFunctionTag</function-class> <function-signature>java.lang.String cap(java.lang.String)</function-signature>//類型必須帶上//包名 </function> </taglib>
如今就該在web.xml文件中註冊一下了,具體內容以下:
app
<!-- 註冊標籤庫 --> <jsp-config> <taglib> <taglib-uri>http://tag.zs.com/myfun</taglib-uri> <taglib-location>/WEB-INF/tag/myfun.tld</taglib-location> </taglib> </jsp-config>
註冊好了就該使用了,jsp頁面中引入本身的標籤庫:
jsp
<%@ taglib uri="/WEB-INF/tag/myfun.tld" prefix="mfn"%>
在下文就能夠使用了:函數
${mfn:cap(name)} <br>
菜鳥一個有不當之處還請指教,謝謝~code