1、引入函数声明:

jsp页面需要引入自定义fns函数声明:

<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>    (自定义的tld文件位于/WEB-INF/tlds/fns.tld)

一般需要C标签配合使用,同时引入C标签声明:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

2、fns.tld代码,仿照jstl的fn函数fn.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>JSTL 1.1 functions library</description>
<display-name>JSTL functions sys</display-name>
<tlib-version>1.1</tlib-version>
<short-name>fns</short-name>
<uri>http://java.sun.com/jsp/jstl/functionss</uri> 经过测试,uri标签中可以没有空格 <!-- 返回指定对象 -->
<function>
<description>根据编码获取用户对象</description>
<name>getUserById</name>
<function-class>com.aaa.bbb.ccc.sys.utils.UserUtils</function-class>
<function-signature>com.aaa.bbb.ccc.sys.entity.User get(java.lang.String)</function-signature>
<example>${fns:getUserById(id)}</example>
</function> <!-- 返回OBJECT -->
<function>
<description>获取当前用户缓存</description>
<name>getCache</name>
<function-class>com.aaa.bbb.ccc.sys.utils.UserUtils</function-class>
<function-signature>java.lang.Object getCache(java.lang.String, java.lang.Object)</function-signature>
<example>${fns:getCache(cacheName, defaultValue)}</example>
</function> <!-- 多个参数 -->
<function>
<description>获取字典值</description>
<name>getDictValue</name>
<function-class>com.aaa.bbb.ccc.sys.utils.DictUtils</function-class>
<function-signature>java.lang.String getDictValue(java.lang.String, java.lang.String, java.lang.String)</function-signature>
<example>${fns:getDictValue(label, type, defaultValue)}</example>
</function> <!-- 返回List -->
<function>
<description>获取字典对象列表</description>
<name>getDictList</name>
<function-class>com.aaa.bbb.ccc.sys.utils.DictUtils</function-class>
<function-signature>java.util.List getDictList(java.lang.String)</function-signature>
<example>${fns:getDictList(type)}</example>
</function> <!-- JsonMapper -->
<function>
<description>对象转换JSON字符串</description>
<name>toJson</name>
<function-class>com.aaa.bbb.cccc.JsonMapper</function-class>
<function-signature>java.lang.String toJsonString(java.lang.Object)</function-signature>
<example>${fns:toJson(object)}</example>
</function> </taglib>

转自:http://blog.csdn.net/javaloveiphone/article/details/50216569

自定义jstl fn函数fns的更多相关文章

  1. JSTL(fn函数)

    JSTL(fn函数) 首先,我们要在页面的最上方引用: <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/js ...

  2. 自定义EL函数、自定义JSTL标签

    自定义EL函数 1.做一个类(静态) package com.maya.el; public class ELBiaoDaoShi { public static String TiHuan(Stri ...

  3. 自定义JSTL标签和函数库

    一.自定义JSTL标签 1.编写标签处理类: (1)实现 SimpleTag 接口,通过 setJspContext()方法可以获取到 jspContext 对象,实际上也是 pageContext ...

  4. 权限管理之基于ACL的实现:自定义JSTL函数实现即时认证

    实现即时认证(即只有拥有相应的权限,才能做相应的操作) 经常用在,在JSP页面上,调用JSTL自定义函数做判断,显示相应的菜单或者功能按钮,比如只有管理员登陆时才显示“删除”按钮,从而完成权限的即时认 ...

  5. 自定义JSTL函数标签(一)

    jstl标签库的配置 * 将jstl.jar和standard.jar拷贝到WEB-INF/lib下(如果使用el表达式,不用拷贝这两个jar) 注意:jstl必须在能够支持j2ee1.4/servl ...

  6. JSTL fn:split()函数

    jstl fn:split()函数代码和用法 -使用fn:split() 函数将一个字符串到一个数组根据分隔符字符串的子字符串. 使用fn:split() 函数将一个字符串到一个数组根据分隔符字符串的 ...

  7. Java进阶SQL函数、网页定时刷新与自定义JSTL函数

    一.SQL函数 能够在SQL语句中调用的函数(方法) ,用来实现一些小功能 聚合函数 能够把多行数据聚合成一个值(统计) count()    计数,计算数据条数 max()      计算最大值 m ...

  8. EL表达式中fn函数 (转载)

    JSTL 使用表达式来简化页面的代码,这对一些标准的方法,例如bean的getter/setter方法,请求参数或者context以及 session中的数据的访问非常方便,但是我们在实际应用中经常需 ...

  9. 自定义一个EL函数

    自定义一个EL函数 一般就是一下几个步骤,顺便提供一个工作常用的 案例: 1.编写一个java类,并编写一个静态方法(必需是静态方法),如下所示: public class DateTag { pri ...

随机推荐

  1. CSS预编译器less简单用法

    1.变量 定义变量 @变量名:值; @test_width:100px; 使用变量 .box{ width:@test_width; height:@test_width; background-co ...

  2. MicroPython教程之TPYBoard开发板DIY小型家庭气象站

    众所周知,iPhone6/6Plus内置气压传感器,不过大家对于气压传感器还是很陌生.跟字面的意思一样,气压传感器就是用来测量气压的,但测量气压对于普通的手机用户来说又有什么作用呢? 海拔高度测量 对 ...

  3. angular4.0项目文件解读

    这篇文章我觉得是很有用的,便于我们对ng项目的理解,同时在配置项目时,也能够很快的定位到相应文件. 摘录的别人的文章,首先感谢那个路人兄弟,下面就开始学习吧. File 文件 Purpose 用途 e ...

  4. win8使用putty登录虚拟机linux

    从下午两点开始在尝试,差不多用了6个小时候到现在终于成功了! 连接器使用的是putty,只要知道虚拟机的ip地址就可以尝试连接,所以首先查询虚拟机上的ip地址,使用命令: ifconfig 出现提示: ...

  5. linux中搭建solr集群出现org.apache.catalina.LifecycleException: Failed to initialize component ,解决办法

    07-Jan-2018 20:19:21.489 严重 [main] org.apache.catalina.core.StandardService.initInternal Failed to i ...

  6. JS文本框每隔4个数字加一个空格,银行卡号文本框

    <input type="text" onkeypress="return (function(key,that){return (key>47&&a ...

  7. delphi用webservice

    delphi的webservice开发. 一.在已有的项目中,调用外部的webservice 1.根据向导建webservice,在项目中引入“WSDL Importer".假设引入后生成的 ...

  8. 海康、大华IPC的rtsp格式

    海康: rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream说明:username: 用户名.例 ...

  9. 借助Redis做秒杀和限流的思考

    最近群里聊起秒杀和限流,我自己没有做过类似应用,但是工作中遇到过更大的数据和并发. 于是提出了一个简单的模型: var count = rds.inc(key); if(count > 1000 ...

  10. git>>>>1

    参考博客:http://www.cnblogs.com/wupeiqi/p/7295372.html - 版本控制,各行各业都需要 - 版本控制工具 - svn - git - git,软件帮助使用者 ...