`
ares5285
  • 浏览: 7677 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

自定义jstl标签库

阅读更多
jstl标签库的配置
* 将jstl.jar和standard.jar拷贝到WEB-INF/lib下(如果使用el表达式,不用拷贝这两个jar)

注意:jstl必须在能够支持j2ee1.4/servlet2.4/jsp2.0版本上的容器才能运行,这个环境
      是目前较为常用的环境

    
标签库的使用
* 采用taglib指令引入
<%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>

 
自定义函数库:
1、定义类和方法(方法必须是public static
2、编写自定义tld文件,并且将此文件放到WEB-INF或WEB-INF任意子目录下
3、在jsp中采用taglib指令引入自定义函数库
4、采用 前缀+冒号(:)+函数名 调用即可
MyFunctions.java
public class MyFunctions {      
        
   public static String sayHello(String name) {      
      return "Hello " + name;      
   }      
       
}   


myfunctions.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 functions library</description>     
  <display-name>my functions</display-name>     
  <tlib-version>1.0</tlib-version>     
  <short-name>my</short-name>     
  <uri>http://www.bjsxt.com/functions</uri>     
       
  <function>     
    <name>sayHello</name>     
    <function-class>com.bjsxt.struts.MyFunctions</function-class>     
    <function-signature>java.lang.String sayHello(java.lang.String)</function-signature>     
  </function>     
       
</taglib> 


jstl_fn.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>      
<%@ taglib uri="http://www.bjsxt.com/functions" prefix="my" %>      
     
<%      
request.setAttribute("name", "David");      
%>      
     
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">      
<html>      
  <head>      
    <title>testTemplate</title>      
  </head>      
  <body>      
    ${my:sayHello(name) }      
  </body>      
</html> 

最后:还需要在web.xml中注册:
web.xml

<jsp-config>     
    <taglib>     
        <taglib-uri>www.bjsxt.com/functions</taglib-uri>     
        <taglib-location>/WEB-INF/my.tld</taglib-location>     
    </taglib>     
</jsp-config> 


注:要引用的时候,在web.xml文件中配置的那个uri的地址就是我们要引进时的那个uri
可能出现的异常



1、The function xxx must be used with a prefix when a default namespace is not specified

--- 在jsp页面中调用方式不正确,可能将 ":" 写成了 "."


2、The function xxx cannot be located with the specified prefix

--- a) 类中定义的方法不是 public static 的方法


      b) 类中的方法名称和jsp自带的标签元素冲突,重名等
分享到:
评论

相关推荐

    JavaWeb-12:自定义标签库开发&JSTL标签库

    JavaWeb-12:自定义标签库开发&JSTL标签库

    JSTL标签库

    JSTL标签库的使用是为类弥补html表的不足,规范自定义标签的使用而诞生的。在告别modle1模式开发应用程序后,人们开始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同时也由于自定义标签的开发难度较大...

    自定义JSTL标签java项目文件

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

    JSTL 以及自定义标签开发相关

    JSTL 以及自定义标签开发相关 JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL...

    jstl自定义标签和函数思维导图

    jstl自定义标签和函数思维导图

    jstl标准标签库

    jstl 文档标准标签库JSTL – JSP Standard Tag Library,是JSP的标准标签库 自定义标签库 自定义函数

    JSTL标准标签库.pdf

    从JSP 1.1规范开始JSP就支持使用自定义标签,使用自定义标签大大降低了...许多WEB应用厂商都开发出了自己的一套标签库提供给用户使用,这导致出现了许多功能相同的标签,令网页制作者无所适从,不知道选择哪一家的好。

    自定义标签库(自己写)

    自己写的自定义标签库,实现JSTL常用的功能。

    JSTL JSP 自定义标签 分页

    jh-plugins是一项基于JSTL的自定义标签(插件)库,致力于打造一处实现、任何项目通用的开源项目。 jh-plugins已实现标签库:分页 jh-plugins特点:高效、轻巧、简单、适用(可融合与任何B/S架构的java项目) jh-...

    JSTL Core标签库资料

    从JSP 1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Standard Tag Library)的诞生。

    JavaWeb开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的)

    主要介绍了JavaWeb开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的),需要的朋友可以参考下

    JSTL详细标签库介绍

    以下这些情况都可以引发异常:您的代码或调用的代码(如共享库)中有错误,操作系统资源不可用,公共语言运行库遇到意外情况(如无法验证代码),等等&lt;BR&gt;&lt;BR&gt;《Exception Handling for C++》关于异常处理论文,向...

    自定义标签,jstl应用

    JSP 标准标记库( Standard Tag Library , JSTL) 是一组以标准化格式实现许多通用的 Web 站点功能的定制标记。 JSP 技术的优势之一在于其定制标记库工具。除了核心 JSP 标记,如 jsp:include 之外,定制标记库...

    JSTL自定义EL表达式

    本资源代码中包含jstl的标签库定义以及自定义EL标签使用的详细说明,参见压缩文件中说明即可,欢迎各位技术员下载参考及使用

    jstl深入学习知识

     常用的JSTL标签库:  核心标签库:http://java.sun.com/jsp/jstl/core 包含 Web 应用的常见工作,比如:循环、表达式赋值、基本输入输出等。  格式化标签库:http://java.sun.com/jsp/jstl/fmt 用来格式化...

    JSP 标准标签库(JSTL)

    JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。 JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL...

    JSP教程-标准标签库JSTL.pdf

    标准标签库 JSTL 是由自定 义标签产生的,它抽取出了最为常用的标签操作。可以说标准标签库实现了对通用操作的封装。有效的 利用标准标签库以及自定义标签可使 JSP 页面风格统一,给 Web 开发人员带来开发和维护上的...

    JSP 标准标签库(JSTL)

    根据JSTL标签所提供的功能,可以将其分为5个类别。 核心标签 格式化标签 SQL 标签 XML 标签 JSTL 函数 JSTL 库安装 Apache Tomcat安装JSTL 库步骤如下: 从Apache的标准标签库中下载的二进包(jakarta-taglibs-...

    java jsp 自定义标签开发

    java jsp 自定义标签开发 在JSTL提供了四个标签库(核心标签库、国际化标签库、数据库标签库和XML标签库)

Global site tag (gtag.js) - Google Analytics