这里简单说一下JSTL中自定义函数的使用。 首先建立一个类:MyFunctions:
package com.jstl; /** * JSTL自定义函数 * @author 胡阳 * */ public class MyFunctions { /** * 必须为静态的全局的,在字符串前面加“hello” * @param username * @return */ public static String sayHello(String username) { return "hello:" + username; } }
然后写一个tld文件:myfn.tld:(这里面的uri是自己随意定义的,不过要考虑到如果定义很多这样的uri的话可能出现命名冲突,所以起名要有规律)
<?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"> <description>my own JSTL functions</description> <display-name>JSTL MyFunctions</display-name> <tlib-version>1.0</tlib-version> <short-name>myfn</short-name> <!-- 这个myfn就是在使用时需要写在冒号前面的标签 --> <uri>http://www.the5fire.com/MyFunctions</uri> <function> <description> my first function. </description> <name>sayHello</name> <!-- 这个sayHello就是在使用时需要写在冒号后面的方法 --> <function-class>com.jstl.MyFunctions</function-class> <function-signature>java.lang.String sayHello(java.lang.String)</function-signature> <example> </example> </function> </taglib>
然后在上一篇文章中的jstl_fn.jsp中引入自定义函数:
<%@ taglib uri="http://www.the5fire.com/MyFunctions" prefix="myfn" %>
再在该文件中添加以下代码:
<li>自定义函数sayHello使用</li><br> ${myfn:sayHello("胡阳") }<br>
到这就完了,还是同先前一样,自己实验一下。重点就是最开始写的那个java类,它可以干的事有很多。
- from the5fire.com
----EOF-----
微信公众号:Python程序员杂谈
微信公众号:Python程序员杂谈