六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 69|回复: 0

JSTL自定义函数

[复制链接]

升级  80%

48

主题

48

主题

48

主题

秀才

Rank: 2

积分
170
 楼主| 发表于 2013-2-6 08:41:01 | 显示全部楼层 |阅读模式
自定义函数
定义一个类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 static  String 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>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表