huguifuture 发表于 2013-2-6 08:41:01

JSTL自定义函数

自定义函数
定义一个类MyFuctions,方法必须是静态的
提供tld描述文件 ,将tld放到WEB-INF或WEB-INF的子目录下
在jsp中用taglib进行引入
在el表达式中采用前缀+函数名的方式进行调用

MyFunctions.java
package com.hugui.jstl;/** * 自定义JSTL函数库 * @author Administrator * */public class MyFunctions {/*** 必须为静态全局的* @param userName* @return*/ public staticString sayHello(String userName){return "hello " + userName; }}

myfunctions.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">      <description>my functions library</description><display-name>my functions</display-name><tlib-version>1.0</tlib-version><short-name>my</short-name><uri>http://www.hugui.com/myfunctions</uri>      <function>    <name>say</name>    <function-class>com.hugui.jstl.MyFunctions</function-class>    <function-signature>java.lang.String sayHello(java.lang.String)</function-signature></function></taglib>


在jsp中用:
<%@ taglib uri="http://www.hugui.com/myfunctions" prefix="my" %>${my:say("hugui")}<br>
页: [1]
查看完整版本: JSTL自定义函数