转自:  https://blog.csdn.net/FORLOVEHUAN/article/details/82623647

自定义 jstl 标签 fns: https://blog.csdn.net/swebin/article/details/90604790

自定义 jstl 标签 fns: https://blog.csdn.net/moxiaoya1314/article/details/80483086

jsp中引入方式

<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>
1
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">

<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>

<function>
    <description>获取管理路径</description>
    <name>getAdminPath</name>
    <!-- 该方法的实体所在类路径-->
    <function-class>com.us.yy.common.config.Global</function-class>
    <!-- 该方法的方法名,值得一提的是,这个方法必须是个static方法-->
    <function-signature>java.lang.String getAdminPath()</function-signature>
    <!--使用方法示例 -->
    <example>${fns:getAdminPath()}</example>
  </function>

<function>
    <description>获取配置</description>
    <name>getConfig</name>
    <function-class>com.us.yy.common.config.Global</function-class>
    <function-signature>java.lang.String getConfig(java.lang.String)</function-signature>
    <example>${fns:getConfig(key)}</example>
  </function>
  <function>
    <description>获取常量</description>
    <name>getConst</name>
    <function-class>com.us.yy.common.config.Global</function-class>
    <function-signature>java.lang.Object getConst(java.lang.String)</function-signature>
    <example>${fns:getConst(key)}</example>
  </function>

<!-- UserUtils -->
  <function>
    <description>获取当前用户对象</description>
    <name>getUser</name>
    <function-class>com.us.yy.modules.utils.UserUtils</function-class>
    <function-signature>com.us.yy.modules.entity.User getUser()</function-signature>
    <example>${fns:getUser()}</example>  
  </function>

<function>
    <description>获取当前用户的菜单对象列表</description>
    <name>getMenuList</name>
    <function-class>com.us.yy.modules.utils.UserUtils</function-class>
    <function-signature>java.util.List getMenuList()</function-signature>
    <example>${fns:getMenuList()}</example>  
  </function>

<function>
    <description>获取当前用户的菜单对象列表</description>
    <name>getTopMenu</name>
    <function-class>com.us.yy.modules.sys.utils.UserUtils</function-class>
    <function-signature>com.us.yy.modules.entity.Menu getTopMenu()</function-signature>
    <example>${fns:getTopMenu()}</example>  
  </function>
   <function>
    <description>获取当前时间与指定时间的差值</description>
    <name>getTime</name>
    <function-class>com.us.yy.modules.utils.UserUtils</function-class>
    <function-signature>java.util.Date getTime(java.util.Date)</function-signature>
    <example>${fns:getTime(java.util.Date)}</example>  
  </function>

<function>
    <description>获取当前用户的部门对象列表</description>
    <name>getOfficeList</name>
    <function-class>com.us.yy.modules.utils.UserUtils</function-class>
    <function-signature>java.util.List getOfficeList()</function-signature>
    <example>${fns:getOfficeList()}</example>  
  </function>

<function>
    <description>获取当前用户缓存</description>
    <name>getCache</name>
    <function-class>com.us.yy.modules.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>

<!-- DictUtils -->
  <function>
    <description>获取字典标签</description>
    <name>getDictLabel</name>
    <function-class>com.us.yy.modules.sys.utils.DictUtils</function-class>
    <function-signature>java.lang.String getDictLabel(java.lang.String, java.lang.String, java.lang.String)</function-signature>
    <example>${fns:getDictLabel(value, type, defaultValue)}</example>  
  </function>

<function>
    <description>HTML编码</description>
    <name>escapeHtml</name>
    <function-class>com.us.yy.common.utils.Encodes</function-class>
    <function-signature>java.lang.String escapeHtml(java.lang.String)</function-signature>
    <example>${fns:escapeHtml(html)}</example>  
  </function>
  <function>
    <description>HTML解码</description>
    <name>unescapeHtml</name>
    <function-class>com.us.yy.common.utils.Encodes</function-class>
    <function-signature>java.lang.String unescapeHtml(java.lang.String)</function-signature>
    <example>${fns:unescapeHtml(html)}</example>  
  </function>

<!-- DateUtils -->
  <function>
    <description>获取当前日期</description>
    <name>getDate</name>
    <function-class>com.us.yy.common.utils.DateUtils</function-class>
    <function-signature>java.lang.String getDate(java.lang.String)</function-signature>
    <example>${fns:getDate(pattern)}</example>  
  </function>

<function>
    <description>对象转换JSON字符串</description>
    <name>toJson</name>
    <function-class>com.us.yy.common.mapper.JsonMapper</function-class>
    <function-signature>java.lang.String toJsonString(java.lang.Object)</function-signature>
    <example>${fns:toJson(object)}</example>  
  </function>

</taglib>

实体中

/**
     * 获取当前用户授权菜单
     * @return
     */
    public static Menu getTopMenu(){
        Menu topMenu =  getMenuList();
        return topMenu;
    }

jsp中使用示例

$(document).ready(function() {
        var data = ${fns:toJson(new Data())};
});

<c:set var="ctx" value="${fns:getAdminPath()}"/>

<t:oldMenu menu="${fns:getTopMenu()}"></t:oldMenu> //下篇讲述自定义标签
————————————————
版权声明:本文为CSDN博主「奋斗小牛」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/FORLOVEHUAN/article/details/82623647

自定义 jstl 标签 fns:jsp中tld的function自定义方法扩展相关推荐

  1. 自定义 jstl 标签 fns

    1.jsp 头部页面引入函数 jsp页面需要引入自定义fns函数声明:  <%@ taglib prefix="fns" uri="/WEB-INF/tlds/fn ...

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

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

  3. JSP中自定义jstl标签

    本期精彩: 之前的博客中有介绍jstl标签和EL表达式:web知识之域对象&EL表达式&JSTL标签_小阿飞_的博客-CSDN博客_web域对象JSP中,关于域对象.EL.JSTLht ...

  4. 自定义jstl标签库

    开发环境:Spring+SpringMVC +Maven +Mybatis JSTL 标签库的配置: 导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下: <prop ...

  5. 解决iIntelliJ IDEA导入jstl后,jsp中taglib指令无法自动添加uri地址

    第一步:点击打开Project Structure 点击左侧的module,选中你想导入jstl标签库的module,点击右侧Dependencles. 第二步:点击右侧+键,选中第一项 找到你项目下 ...

  6. JSP之自定义jstl标签

    目录 一,什么是JSP

  7. jsp中 自定义 tag的几种方式

    在jsp文件中,可以引用tag和tld文件. 1.对于tag文件,使用tagdir引用(这个直接是引用的后缀tag文件的jsp文件) <%@ taglib prefix="ui&quo ...

  8. java将xml中的标签名称转为小写_深入学习Java Web(七): JSTL标签库

    本文转自与博客园一杯凉茶的博客. 在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行为.行为只能提供一小部分的功能,大多数的时候还是会用java脚本,接着就使用了EL表达式,基本上 ...

  9. 【JSP教科书】JSP知识在线指南(记录知识JSP体系、EL表达式、JSTL标签库、JSP开发模型和分页查询)

    文章目录 @[toc] 一.JSP简介 1.1 什么是JSP? 1.2 JSP的特点 1.3 JSP为什么也是Servlet 1.4 tomact服务器中的资源分析 1.4.1 tomact服务器中的 ...

最新文章

  1. 一文告诉你,为什么要研究JVM原理
  2. FPGA之道(21)HDL语言的选择
  3. Linux经常使用的命令(十) - nl
  4. 一个实用的表格(锁定表头,可调整单元格大小,可排序)
  5. linux 定时切割日志,Linux 定时切割日志任务
  6. 特性和混入不是面向对象的
  7. 日志模块logging用法
  8. Qt split字符串分割
  9. 如何快速掌握python包_如何快速掌握一个python模块?
  10. linux native分区,怎么将硬盘格式分区为Linux Native格式的
  11. 关于DELL服务器如果采购散件,进行服务器升级的相关说明
  12. regex flag
  13. 12.3日个人工作总结
  14. CSS的块级元素和内联元素,以及float
  15. python进阶方向_python进阶—边练边学,学到极致
  16. html转pdf手机,html转pdf
  17. HTML——响应式布局
  18. oracle redo查询,ORACLE UNDO REDO查看
  19. Windows XP的定时关机命令
  20. 大自然教给我们“知足”的生存方式

热门文章

  1. linux下logcat命令,adb logcat 命令
  2. 忙里偷闲写个冒泡排序。
  3. openstack是什么?openstack的主要功能组件有哪些
  4. 正则表达式的简单用法+利用正则表达式检验身份证号码格式
  5. 693. 交替位二进制数 / 227. 基本计算器 II / 264. 丑数 II
  6. 如何提高人脸检测速度
  7. 使用索引为什么能提高查询速度?
  8. 拒绝浮躁,鞭策自己!
  9. 乾坤未定,你我皆是牛马!双非应届生圆梦鹅厂,斩获40W白菜offer
  10. Dom4j完整教程~CDATA详解