jstl自定义函数标签---备忘录

来源:互联网 发布:什么是网络公关 编辑:程序博客网 时间:2024/05/29 19:01

1、新建fns.tld文件,本博客路径为:/WEB-INF/fns.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">
    
  <tlib-version>1.1</tlib-version>
  <short-name>fns</short-name>
  <uri>http://www.example/functions</uri>


  <function>
    <description>获取管理路径</description>
    <name>getSysConfig</name>
    <function-class>example.util.FuncTag</function-class>
    <function-signature>java.lang.String getSysConfig(java.lang.String)</function-signature>
    <example>${fns:getSysConfig("sysTitle")}</example>
  </function>
 <function>
   。。。。
  </function>
</taglib>

2、创建FuncTag.java:

package example.util;
import java.io.Serializable;

public class FuncTag implements Serializable {


private static final long serialVersionUID = 606271452116829389L;


private static Logger logger = LoggerFactory.getLogger(FuncTag.class);
/**
* 属性文件加载对象
*/
private static FuncTag appUtil = new FuncTag();// 单例

/**
* 是/否
*/
public static final String YES = "1";
public static final String NO = "0";


public static FuncTag getInstance() {
if (appUtil == null) {
appUtil = new FuncTag();
}


return appUtil;
}


/**
* 获取配置

* @see ${fns:getConfig('adminPath')}
*/
public static String getSysConfig(String key) {
String value = CacheUtil.getConfigValueById(key);


return value != null ? value : StringUtils.EMPTY;
}
}


3、调用:

在jsp头部添加:<%@ taglib uri="http://www.example/functions" prefix="fns"%>,调用方法可参考tld里面的example。

0 0