精华内容
下载资源
问答
  • 自定义JSTL

    2016-08-08 00:13:13
    自定义jstl,打jar包使用
  • 自定义jstl

    2018-09-10 21:12:26
    这里是自定义标签,可以很好的实现一定的功能,大家可以参考着自己写一个
  • 1.首先说明: servelet2.4以后tld文件不需要在web.xml中配置 有两种方式使用自动加载  1、打成jar包时,将tld文件...2.创建自定义jstl函数和标签,实现效果: 这里是测试自定义函数:${myfn:spitmine('中国')

    1.首先说明:
    servelet2.4以后tld文件不需要在web.xml中配置
    有两种方式使用自动加载

      1、打成jar包时,将tld文件放在META-INF文件夹下(参考standard,jar)

      2、直接将自定义tld文件放在WEB-INF下

    正文开始:
    2.创建自定义jstl函数和标签,实现效果:
    <!--jsp body中代码-->
    这里是测试自定义函数:${myfn:spitmine('中国') }<br>
     这里是自定义标签:<mytag:hellotag></mytag:hellotag>
    <!--jsp body中代码-->
    输出结果如下
    这里是测试自定义函数:中国(这是jstl自定义函数返回的字符串)
    这里是自定义标签:helloworld
    3.先说创建jstl函数
    第一步创建JstlFunctionDesign.java 注意spitmine方法声明为static类型
     package com.test.jstl;
    public class JstlFunctionDesign {
     public static String spitmine(String content){
      return content+"(这是jstl自定义函数返回的字符串)";
     }
    }

    第二步创建tld文件JstlFunctionDesign.tld,位置在web-inf下
    <?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>my jstl functions library</description>
     <display-name>my jstl functions</display-name>
     <tlib-version>1.0</tlib-version>
     <short-name>myfn</short-name>
     <uri>http://www.kbq.com/myfn</uri>

     <function>
      <name>spitmine</name>
      <function-class>com.test.jstl.JstlFunctionDesign</function-class>
      <function-signature>
          java.lang.String spitmine(java.lang.String)
      </function-signature>
     </function>
    </taglib>


    4.创建自定义标签
    第一步创建JstlTagDesign.java,继承javax.servlet.jsp.tagext.TagSupport或者javax.servlet.jsp.tagext.Tag
    package com.test.jstl;

    import java.io.IOException;

    import javax.servlet.jsp.JspException;
    import javax.servlet.jsp.PageContext;
    import javax.servlet.jsp.tagext.Tag;
    import javax.servlet.jsp.tagext.TagSupport;

    public class JstlTagDesign  extends TagSupport  {
     private PageContext pagecontext;
     @Override
     public int doEndTag() throws JspException {
      // TODO Auto-generated method stub
      System.out.println("doEndTag");
      return SKIP_BODY;
     }

     @Override
     public int doStartTag() throws JspException {
      System.out.println("doStartTag");
      try {
       pagecontext.getOut().println("helloworld");
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      } 
      return 0;
     }

     @Override
     public Tag getParent() {
      // TODO Auto-generated method stub
      System.out.println("getParent");
      return null;
     }

     @Override
     public void release() {
      System.out.println("release");
      // TODO Auto-generated method stub
      
     }

     @Override
     public void setPageContext(PageContext arg0) {
       System.out.println("设置PageContext对象!"); 
        this.pagecontext = arg0;
     }

     @Override
     public void setParent(Tag arg0) {
      System.out.println("setParent");
      // TODO Auto-generated method stub
      
     }
    }
    第二部创建tld,JstlTagDesign.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>my jstl functions library</description>
     <display-name>my jstl functions</display-name>
     <tlib-version>1.0</tlib-version>
     <short-name>mytag</short-name>
     <uri>http://www.kbq.com/mytag</uri>

     <tag>
     <name>hellotag</name>
     <tag-class>com.test.jstl.JstlTagDesign</tag-class>
     <body-content>JSP</body-content>
     </tag>
    </taglib>

    5.测试jspJ,stlFunctionDesignTest.jsp
    头部需要引入
    <%@ taglib uri="http://www.kbq.com/myfn" prefix="myfn" %>
    <%@ taglib uri="http://www.kbq.com/mytag" prefix="mytag" %>
    .....
     <body>
      这里是测试自定义函数3341:${myfn:spitmine('中国') }<br>
      <!--  -->
     
      这里是自定义标签222:<mytag:hellotag></mytag:hellotag>
      </body>

    6.web.xml也可以对tld引用路径进行设置,也可以不设置
      <jsp-config>
        <taglib>
         <taglib-uri>http://www.kbq.com/myfn2</taglib-uri>
         <taglib-location>/WEB-INF/JstlFunctionDesign.tld</taglib-location>
        </taglib>
        <!-- <taglib>
         <taglib-uri>http://www.kbq.com/mytag</taglib-uri>
         <taglib-location>/WEB-INF/JstlTagDesign.tld</taglib-location>
        </taglib>
        -->
      </jsp-config>

    展开全文
  • 自定义JSTL标签java项目文件. 使用定制标签库使得JSP程序更加简洁、可读性和可维护性大大的提高了。因此JSP定制标签的优势是非常明显的,它被认为是JSP所有特性中最被看好的特性。
  • 自定义JSTL函数

    2015-07-17 17:28:08
    jstl 自定义函数 ${mj:repalceAll('love','l','e') } 由于 jstl 函数 字符串替换不支持正则表达式 所以想用java String的 replaceAll进行替换 需要自定义 jstl函数 首先写类 package ...

    
    

    由于 jstl 函数 字符串替换不支持正则表达式 所以想用java String的 replaceAll进行替换

    需要自定义 jstl函数


    首先写类

    package com.salesmanb2b.el;
    
    //自定义el函数
    public class MyJstl 
    {
    	/**
    	 * 支持正则表达式的替换
    	 * @param orgStr 原始的字符串
    	 * @param regex 用来匹配的正则表达式
    	 * @param replacement 替换的文本
    	 * @return
    	 */
    	public static String repalceAll(String orgStr,String regex, String replacement)
    	{
    		return orgStr.replaceAll(regex, replacement);
    	}
    
    }


    然后在web-info 下创建对应的tld文件  MyJstl.tld

    <?xml version="1.0" encoding="UTF-8"?>
    <taglib version="2.0" 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 web-jsptaglibrary_2_0.xsd">
     <tlib-version>1.0</tlib-version>
     <short-name>mj</short-name>
     <uri>/mj</uri>
     
     <function>  
            <name>repalceAll</name>  
            <function-class>com.salesmanb2b.el.MyJstl</function-class>  
            <function-signature>java.lang.String repalceAll(java.lang.String,java.lang.String,java.lang.String)</function-signature>  
        </function>  
        
        
        
    </taglib>


    填写 short-name  和 uri


    以及 funciton 的 信息


    最后 在 jsp页面中加入

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    
    <%@ taglib prefix="mj" uri="/WEB-INF/MyJstl.tld"  %> 
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
      
       
      <title>jstl 自定义函数</title>
    
     
    
      </head>
      
      <body>
         ${mj:repalceAll('lllove','(l)+(.+)','$1$2') }
      </body>
    </html>

    效果如下:





    展开全文
  • 转自:... 自定义 jstl 标签 fns:https://blog.csdn.net/swebin/article/details/90604790 自定义 jstl 标签 fns:https://blog.csdn.net/moxiaoya1314/article/det...

    转自:  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函数的具体项目实现
  • 自定义JSTL标签

    2015-02-11 15:38:00
    有时候会遇到需要在JSP中调用Java方法的情况,这个问题可以通过自定义JSTl标签的方法解决。 步骤:  1,准备好Java方法,这里需要注意的是,这个方法必须要是静态static修饰的  2,创建一个tld文件,将准备的...

    有时候会遇到需要在JSP中调用Java方法的情况,这个问题可以通过自定义JSTl标签的方法解决。

    步骤:

      1,准备好Java方法,这里需要注意的是,这个方法必须要是静态static修饰的

      2,创建一个tld文件,将准备的方法添加到tld文件中,然后将tld映射添加到web.xml文件中

      3,然后就可以在jsp中调用了

     

    下面是我的示例:

      1,java类

    public class DataDictionaryUtil {
    
        public static String getMean(String type,String num){
            
            if ("bussinessType".equals(type)) {
                //业务种类
                if ("1".equals(type)) {
                    return "贷款";
                }else if("2".equals(type)){
                    return "信用卡";
                }else{
                    return null;
                }
            }
        return null;
        }
    
    }

     

      2,tld文件(一般都放在WEB-INF目录下)

    <?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</display-name>
      <tlib-version>1.1</tlib-version>
      <short-name>fn</short-name>
      <uri>http://java.sun.com/jsp/jstl/functions</uri>
    
    <!-- 添加自定义方法 -->
      <function>
          <name>getMean</name>
          <function-class>com.wangyin.credit.report.util.DataDictionaryUtil</function-class>
          <function-signature>java.lang.String getMean(java.lang.String,java.lang.String)</function-signature>
          <example>${fn.getMean(type,code)}</example>
      </function>
    
    </taglib>

      

      web.xml文件映射配置(配置在根标签下)

    <jsp-config>
        <taglib>
            <taglib-uri>/credit</taglib-uri>
            <taglib-location>/WEB-INF/dtl/credit.tld</taglib-location>
        </taglib>
    </jsp-config>

     

      3,在jsp中调用自定义标签

    •  先将自定义标签进行引入
    <%@ taglib prefix="credit" uri="/credit" %> 
    • 然后在页面中进行调用
    业务种类信息:${credit:getMean('bussinessType','1')}

    (备注:这里传递参数的时候,单引号,双引号都可以,1也可以不加引号)

      4,然后,如果没有意外的话,你想要的结果就出现了!

    转载于:https://www.cnblogs.com/lixuelong/p/4286366.html

    展开全文
  • 自定义JSTL标签函数,方便页面的调用,通过调用函数返回数据进行页面显示。简单、方便,在开发中时常用的到。以下通过显示省份来看实现步骤:第一步:新建一个类如下:UtilFunction.java Java代码 package...
  • J2ee之自定义jstl函数

    2015-06-08 17:40:31
    自定义jstl function满足自己的需求,编码和时间格式化 实现: 1.自定义工具类: public class UtilsTag { public static String date(Long time) throws Exception { // String vv = "" + ...
  • 关于jsp页面自定义jstl标签简单项目配置
  • 一、自定义JSTL标签 1.编写标签处理类: (1)实现 SimpleTag 接口,通过 setJspContext()方法可以获取到 jspContext 对象,实际上也是 pageContext 对象。 在 doTag() 方法中完成逻辑,通过JspWriter out = ...
  • 自定义 JSTLFunction

    2018-06-17 10:54:00
    复习常用JSTL Function为什么需要自定义Function如何自定义Function,例子:1、在独立的项目中(也可以在web项目中)的类中(比如Functions)编写一个static方法:String repeat(char ch,int count);2、在项目下新建...
  • 自定义jstl实现短地址

    2019-04-12 01:30:15
    NULL 博文链接:https://rubskin.iteye.com/blog/1703808
  • JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。... 下面,让我们来看看自定义JSTL标签步骤。 第一步:导入要用到的两个包:jst
  • 自定义 jstl 标签 fns

    千次阅读 2019-05-27 15:48:32
    jsp页面需要引入自定义fns函数声明: <%@ taglib prefix=”fns” uri=”/WEB-INF/tlds/fns.tld” %>,自定义的tld文件位于/WEB-INF/tlds/fns.tld 一般需要C标签配合使用,同时引入C标签声明: <%@ taglib ...
  • 自定义JSTL标签函数,方便页面的调用,通过调用函数返回数据进行页面显示。简单、方便,在开发中时常用的到。 以下通过显示省份来看实现步骤: 第一步:新建一个类如下: package demo; import java.util....
  • 这两天做公司项目中的一个小功能,其中用了一些jstl标签,以前没有做过,现在基本实现了 1.jstl最常见的就是if 和foreach,out的使用 ...自定义jstl标签 开发中可能有些功能需要自己去实现,但是标准有没有提
  • 自定义 jstl 标签

    2016-06-25 10:46:53
    自定义jsp 标签
  • 自定义JSTL Tag

    2018-06-17 16:25:00
    复习常用JSTL Tag 为什么需要自定义Tag:简化html的拼接生成 如何自定义Function,例子: 编写一个类继承自:SimpleTagSupport 重写doTag方法 JspWriter out = this.getJspContext().getOut()获得out对象,...
  • 自定义jstl标签

    2018-05-29 23:15:57
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> ; charset=UTF-8"> <title>...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,192
精华内容 876
关键字:

自定义jstl