package mypack; import java.util.*; public class Tool { public static int add(String x, String y) { int a = 0; int b = 0; try { a = Integer.parseInt(x); b = Integer.parseInt(y); }catch(Exception e) {} return a + b; } public static String convert(String s,String encode1,String encode2){ try{ return new String(s.getBytes(encode1),encode2); }catch(Exception e){return null;} } } <%@ page contentType="text/html; charset=GB2312" %> <%@ taglib prefix="mm" uri="/mytaglib" %> <html> <head> <title>functions</title> </head> <body> <h3>Add Numbers</h3> <p> <form action="sum.jsp" method="get"> user= <input type="text" name="user" value="${mm:convert(param.user,'ISO-8859-1','GB2312')}"> <br> x = <input type="text" name="x" value="${param.x}"> <br> y = <input type="text" name="y" value="${param.y}"> <input type="submit" value="Add Numbers"> </form> <p> the sum is: ${mm:add(param.x,param.y)} </body> </html> mytaglib.tld <?xml version="1.0" encoding="ISO-8859-1" ?> <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 web-jsptaglibrary_2_0.xsd" version="2.0"> <tlib-version>1.1</tlib-version> <short-name>mytaglib</short-name> <uri>/mytaglib</uri> <function> <description>add x and y</description> <name>add</name> <function-class>mypack.Tool </function-class> <function-signature> int add(java.lang.String,java.lang.String) </function-signature> </function> <function> <description>convert encoding</description> <name>convert</name> <function-class>mypack.Tool </function-class> <function-signature> java.lang.String convert(java.lang.String,java.lang.String,java.lang.String) </function-signature> </function> </taglib> web.xml <taglib> <taglib-uri>/mytaglib</taglib-uri> <taglib-location>/WEB-INF/mytaglib.tld</taglib-location> </taglib>
从 <http://ndebyq.blog.51cto.com/274018/148005> 插入
源文档 <http://hi.baidu.com/cliff77/blog/item/2ccfaf381bd28721b9998fcb.html>
<%@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib"%> <html> <head> <title>JSP 2.0 Expression Language - Functions</title> </head> <body> <h1>JSP 2.0 Expression Language - Functions</h1> <hr> An upgrade from the JSTL expression language, the JSP 2.0 EL also allows for simple function invocation. Functions are defined by tag libraries and are implemented by a Java programmer as static methods. <blockquote> <u><b>Change Parameter</b></u> <form action="functions.jsp" method="GET"> foo = <input type="text" name="foo" > <input type="submit"> </form> <br> <code> <table border="1"> <thead> <td><b>EL Expression</b></td> <td><b>Result</b></td> </thead> <tr> <td>\${param["foo"]}</td> <td>${fn:escapeXml(param["foo"])} </td> </tr> <tr> <td>\${my:reverse(param["foo"])}</td> <td>${my:reverse(fn:escapeXml(param["foo"]))} </td> </tr> <tr> <td>\${my:reverse(my:reverse(param["foo"]))}</td> <td>${my:reverse(my:reverse(fn:escapeXml(param["foo"])))} </td> </tr> <tr> <td>\${my:countVowels(param["foo"])}</td> <td>${my:countVowels(fn:escapeXml(param["foo"]))} </td> </tr> </table> </code> </blockquote> </body> </html>