1、引入函数声明:

  1. jsp页面需要引入自定义fns函数声明:
  2.  
  3. <%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %> (自定义的tld文件位于/WEB-INF/tlds/fns.tld
  4.  
  5. 一般需要C标签配合使用,同时引入C标签声明:
  6.  
  7. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

2、fns.tld代码,仿照jstl的fn函数fn.tld的书写格式:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2.  
  3. <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
  6. version="2.0">
  7.  
  8. <description>JSTL 1.1 functions library</description>
  9. <display-name>JSTL functions sys</display-name>
  10. <tlib-version>1.1</tlib-version>
  11. <short-name>fns</short-name>
  12. <uri>http://java.sun.com/jsp/jstl/functionss</uri> 经过测试,uri标签中可以没有空格
  13.  
  14. <!-- 返回指定对象 -->
  15. <function>
  16. <description>根据编码获取用户对象</description>
  17. <name>getUserById</name>
  18. <function-class>com.aaa.bbb.ccc.sys.utils.UserUtils</function-class>
  19. <function-signature>com.aaa.bbb.ccc.sys.entity.User get(java.lang.String)</function-signature>
  20. <example>${fns:getUserById(id)}</example>
  21. </function>
  22.  
  23. <!-- 返回OBJECT -->
  24. <function>
  25. <description>获取当前用户缓存</description>
  26. <name>getCache</name>
  27. <function-class>com.aaa.bbb.ccc.sys.utils.UserUtils</function-class>
  28. <function-signature>java.lang.Object getCache(java.lang.String, java.lang.Object)</function-signature>
  29. <example>${fns:getCache(cacheName, defaultValue)}</example>
  30. </function>
  31.  
  32. <!-- 多个参数 -->
  33. <function>
  34. <description>获取字典值</description>
  35. <name>getDictValue</name>
  36. <function-class>com.aaa.bbb.ccc.sys.utils.DictUtils</function-class>
  37. <function-signature>java.lang.String getDictValue(java.lang.String, java.lang.String, java.lang.String)</function-signature>
  38. <example>${fns:getDictValue(label, type, defaultValue)}</example>
  39. </function>
  40.  
  41. <!-- 返回List -->
  42. <function>
  43. <description>获取字典对象列表</description>
  44. <name>getDictList</name>
  45. <function-class>com.aaa.bbb.ccc.sys.utils.DictUtils</function-class>
  46. <function-signature>java.util.List getDictList(java.lang.String)</function-signature>
  47. <example>${fns:getDictList(type)}</example>
  48. </function>
  49.  
  50. <!-- JsonMapper -->
  51. <function>
  52. <description>对象转换JSON字符串</description>
  53. <name>toJson</name>
  54. <function-class>com.aaa.bbb.cccc.JsonMapper</function-class>
  55. <function-signature>java.lang.String toJsonString(java.lang.Object)</function-signature>
  56. <example>${fns:toJson(object)}</example>
  57. </function>
  58.  
  59. </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. 进程管理工具Supervisor(二)Events

    supervisor可以当做一个简单的进程启动.重启.控制工具使用,也可以作为一个进程监控框架使用,作为后者,需要使用supervisor的Events机制. Event Listeners supe ...

  2. 6月22日项目CodeReview问题及总结

    后台代码部分 1. 枚举类的使用:当定义的某个字段有多种状态值或表示值时,可以创建一个枚举类将所有状态表示出来,并供其他使用到该字段的方法统一调用.枚举类定义可参考 '/banking-dbbp-pr ...

  3. Android WebView默认GONE出现的问题记录

    前段时间重构一批相似度80%以上的项目[真搞不懂前人们是怎么忍受十几个类似的应用一直CVU的,冗余代码和资源达到40%以上] 其中需要抽出一个公共的带WebView的Activity基类,由于脑残测试 ...

  4. Python如果导出失败,pass函数功能

    由于服务器中有一些模块不存在,在文件中导入这些模块时提示错误,导致本地运行正常,服务器测试不通过. 此时,需要捕捉ImportError,当导入的包不存在时,pass掉定义的功能. 示例代码: try ...

  5. ASP.NET Core中使用IOC三部曲(一.使用ASP.NET Core自带的IOC容器)

    前言 本文主要是详解一下在ASP.NET Core中,自带的IOC容器相关的使用方式和注入类型的生命周期. 这里就不详细的赘述IOC是什么 以及DI是什么了.. emm..不懂的可以自行百度. 目录 ...

  6. PHP开发工程师应该具备那些技术能力

    根据各大招聘网站的数据分析,2017年IT行业,其中从事软件开发和数据分析的毕业生的月薪最高.究其原因是因为随着互联网的不断发展,岗位人才稀缺,需求量大.那么如何快速的成为软件开发人员,比如PHP开发 ...

  7. mysql 在B数据库下 创建一个与A数据库中一样的表

    1.创建数据内容与结构一致(不会复制索引以及外键) create table B.test as select * from A.test; 2.把上面的步骤分开,先复制结构 create table ...

  8. angular2+ 组件中用@import进来的css不起作用

    一般来说是作用域的问题,首先你应该先看标签内是否有angular2内置生成的自定义属性比如: 在我们的@Component中,这三个是基本的设置. 页面上的标签会生成带有 _nghost-c1 和  ...

  9. css样式中如何设置中文字体?

    代码如下: .selector{ font-family: SimHei,"微软雅黑",sans-serif; }  注意:加上中文名“微软雅黑”是为了兼容opera浏览器,中文字 ...

  10. WebPack错误集

    webpack-dev-server跨域设置反向代理出现404错误 问题栈 分析解决 看到404后,再次看了下启动服务配置文件,估计是pathRewrite这个没起作用; //代理服务器 const ...