自定义 jstl 标签 fns

本文介绍了如何在JSP中创建并使用自定义的JSTL标签`fns`。首先,需要在JSP头部引入`fns`函数声明,通过`<%@ taglib>`指定其URI。接着,自定义的TLD文件`fns.tld`在`/WEB-INF/tlds`目录下。同时,通常需要与`C`标签一起使用,因此也需要引入`C`标签。在`fns.tld`中,仿照`fn.tld`的格式定义函数。此外,`fns`标签的后台服务类为`common.config.Global`,在JSP页面或JS中可以调用这些自定义的表达式函数。
摘要由CSDN通过智能技术生成

1、jsp 头部页面引入函数

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>


    <function>
        <description>获取开发公司名称</description>
        <name>getCompanyName</name>
        <function-class>com.jeeplus.common.config.Global</function-class>
        <function-signature>java.lang.String getCompanyName()</function-signature>
        <example>${fns:getCompanyName()}</example>
    </function>

    <function>
        <description>获取项目名称</description>
        <name>getProjectName</name>
        <function-class>com.jeeplus.common.config.Global</function-class>
        <function-signature>java.lang.String getProjectName()</function-signature>
        <example>${fns:getProjectName()}</example>
    </function>

    <function>
        <description>获取基本设置信息</description>
        <name>getSysBase</name>
        <function-class>com.jeeplus.common.config.Global</function-class>
        <function-signature>com.jeeplus.modules.sys.entity.SysBase getSysBase()</function-signature>
        <example>${fns:getSysBase()}</example>
    </function>


    <function>
        <description>获取管理路径</description>
        <name>getAdminPath</name>
        <function-class>com.jeeplus.common.config.Global</function-class>
        <function-signature>java.lang.String getAdminPath()</function-signature>
        <example>${fns:getAdminPath()}</example>
    </function>
    <function>
        <description>获取网站路径</description>
        <name>getFrontPath</name>
        <function-class>com.jeeplus.common.config.Global</function-class>
        <function-signature>java.lang.String getFrontPath()</function-signature>
        <example>${fns:getFrontPath()}</example>
    </function>
    <function>
        <description>获取网站URL后缀</description>
        <name>getUrlSuffix</name>
        <function-class>com.jeeplus.common.config.Global</function-class>
        <function-signature>java.lang.String getUrlSuffix()</function-signature>
        <example>${fns:getUrlSuffix()}</example>
    </function>
    <function>
        <description>获取配置</description>
        <name>getConfig</name>
        <function-class>com.jeeplus.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.jeeplus.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>convertToChart</name>
        <function-class>com.jeeplus.common.utils.StringUtils</function-class>
        <function-signature>java.lang.String convertToChart(int)</function-signature>
        <example>${fns:convertToChart(digit)}</example>
    </function>
    <function>
        <description>获取当前用户对象</description>
        <name>getUser</name>
        <function-class>com.jeeplus.modules.sys.utils.UserUtils</function-class>
        <function-signature>com.jeeplus.modules.sys.entity.User getUser()</function-signature>
        <example>${fns:getUser()}</example>
    </function>

    <function>
        <description>根据编码获取用户对象</description>
        <name>getUserById</name>
        <function-class>com.jeeplus.modules.sys.utils.UserUtils</function-class>
        <function-signature>com.jeeplus.modules.sys.entity.User get(java.lang.String)</function-signature>
        <example>${fns:getUserById(id)}</example>
    </function>

    <function>
        <description>获取授权用户信息</description>
        <name>getPrincipal</name>
        <function-class>com.jeeplus.modules.sys.utils.UserUtils</function-class>
        <function-signature>com.jeeplus.modules.sys.security.SystemAuthorizingRealm.Principal getPrincipal()</function-signature>
        <example>${fns:getPrincipal()}</example>
    </function>

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

    <function>
        <description>获取当前用户的菜单对象列表</description>
        <
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值