JSP中的TAG

http://blog.csdn.net/hongweigg/article/details/12006849

JSP标签有两种实现方法,一种是使用tag 文件,一种是使用tld文件。

1、使用tag文件

标签名和tag文件名一致, tag文件为JSP文件,可以有属性,把JSP页面当JavaBean文件一样使用。

例子:

1)WEB-INF/lib下放置TAG文件:MyTag.tag,那么就有了一个名为MyTag的标签:

[html] view plaincopy

  1. <%@ tag pageEncoding="UTF-8" %>
  2. <%@ attribute name="id" required="true" rtexprvalue="true" %>
  3. <%@ attribute name="webletID" required="true" rtexprvalue="true" %>
  4. <B>JSP TAG ATTRIBUTE GET<B>
  5. <div id="<%=getId() %>" style="border:solid 1px #ff0000">
  6. Here, got the attribute value by get method:<%=getWebletID() %>
  7. <br>Got the attribute value by variable:<%=webletID %>
  8. </div>
  9. <script>
  10. </script>
  11. <br>

可定义属性attribute,有变量名(name),是否必需(required)等属性,相当于定义一个JavaBean的属性。在使用属性的值时,可通过get方法来访问或通过变量名的方式来访问。

2)创建引用标签的JSP文件test.jsp,放置于Web目录下,如何WEB-INF同级目录

[html] view plaincopy

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ taglib prefix="mx" tagdir="/WEB-INF/tags"%>
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
  6. <title>Tag test</title>
  7. </head>
  8. <body>
  9. <h1>Tag Test is ok!</h1>
  10. <mx:MyTag id="Weblet1" webletID="W1001"/>
  11. </body>
  12. </html>

在定义好属性后,就可在TAG被引用时,接受传入参数。标签TAG的属性id,webletID。

3)访问test.jsp,效果如下:

JSP TAG ATTRIBUTE GET

Here, got the attribute value by get method:W1001 
Got the attribute value by variable:W1001

2、使用tld文件

tld为XML格式文件,在其中描述标签组件的类和属性等。

方法1的使用比较直接简单,修改标签直接修改JSP文件即可;方法2使用定义方式来描述标签,修改标签需要修改tld描述文件和对应的class文件。

参考:

JSP中的TAG文件和TLD文件小结

在jsp文件中,可以引用tag和tld文件。 
1.对于tag文件 
<%@ taglib prefix="ui" tagdir="/WEB-INF/tags" %> 
其中的tags是个目录,里面有若干tag文件。 
但使用<ti:XXXX>时,目录WEB-INF/tags下,必然有个XXXX.tag文件与之对应。

2.对于tld文件 
在jsp中可以引用TLD文件,如 
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
但是这个http://struts.apache.org/tags-html对应着什么呢?
jsp会在当前目录的\WEB-INF下找所有tld文件,确认这个URL对应哪个TLD文件。 
当找到struts-html.tld文件时,发现其中的内与这个URL对应。 
但使用<html:YYYYY>时,这个TLD文件中必然有个YYYY项与之对应。

还有一种更保险的方法是,在WEB-INF/web.xml中加上 
<taglib> 
    <taglib-uri> 
http://jakarta.apache.org/tomcat/examples-taglib 
    </taglib-uri> 
    <taglib-location> 
       /WEB-INF/jsp/example-taglib.tld 
    </taglib-location> 
</taglib> 
这样表示http://jakarta.apache.org/tomcat/examples-taglib对应着/WEB-INF/jsp/example-taglib.tld

tag文件作用一般是一段小代码,类似include文件的作用。 
tld文件作用比较复杂,可以实现很多高级的作用。

时间: 2024-08-26 07:10:58

JSP中的TAG的相关文章

JSP中关于tag的学习

tag作用:编写调用tag实现代码复用.能防止用户直接访问tag页面.Include只能做到代码复用,但是不能防止用户在地址栏直接输入地址访问. 优点:     1.实现代码的复用 2.分离数据处理代码和数据显示代码,便于web应用的维护,和再开发 tag文件的保存:保存在WEB-INF/tags/下 tag标记: 格式一:<Tag 文件名 /> 格式二:<Tag 文件名> 标记体 </Tag 文件名> 在没有标记体的情况下只能用格式一,格式二会将标记体传入tag文件中

JSP 中的 tag 文件

在jsp文件中,可以引用 tag 和tld 文件,本文主要针对 tag 对于tag 文件 1)将此类文件放在 WEB-INF 下,比如 /WEB-INF/tags,tags 是目录,其下可以有多个.tag文件,如 tree.tag,menu.tag 2)在jsp 中使用 <%@ taglib prefix="sys" tagdir="/WEB-INF/tags" %> 来引入 3)在jsp 页面上,采用<sys:xxx> 来使用该 tag 文

JSP中自定义标签(结合easyui)——JSP中的TAG

使用了easyui的样式封装的下拉框标签: <%@ tag language="java" pageEncoding="utf-8"%> <%@ tag import="com.cseds.common.dic.DicHolder" %> <%@ tag import="com.cseds.common.dic.Dics" %> <%@ tag import="com.cse

JFinal中使用JSP的自定义Tag解决I18N

1. 设计原由 由于JFinal的国际化(I18N)支持在JSP中支持不好,因此,萌生了解决这一短板的念头. 实现时也考虑了几种方式,最终决定采用JSP中最原始的标签.因为自定义标签在JSP中容易实现,内容灵活且功能比较强大,可扩展性好. 2. I18N标签 自定义的I18N标签需要针对I18N的各个接口做最好的支持,使用<jf:i18n />作为标签名,下面是JFinal中I18N类的几个接口: public static String getText(String key) public 

自定义JSP中的Taglib标签之四自定义标签中的Function函数

转自http://www.cnblogs.com/edwardlauxh/archive/2010/05/19/1918589.html 之前例子已经写好了,由于时间关系一直没有发布,这次带来的是关于taglib中的<tag>的基本功能已经介绍完毕了,在taglib中我们发现有一个标签叫做<function>,这次简单介绍<function>标签的基本用法,<function>标签可以做什么呢?它可以让我们在jsp用直接调用某个方法,根据自定义的方法返回指定

【转】JSP中的JSTL与EL表达式用法及区别

对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段.所以我们先来学习EL表达式 EL主要用于查找作用域中的数据,然后对它们执行简单操作:它不是编程语言,甚至不是脚本编制语言.通常与 JSTL 标记一起作用,能用简单而又方便的符号来表示复杂的行为. EL基本格式 EL表达式的格式:用美元符号($)定

JSP中如何利用JS实现登录页面的跳转(JSP中如何利用JS实现跳转页面)

JSP中如何利用JS实现登录页面的跳转(JSP中如何利用JS实现跳转页面) 注:只是用到js中的setTimeout();具体使用方法:  setTimeout(函数名, 时间(毫秒)); setTimeout( ) 是属于 window 的 method, 但我们都是略去 window 这顶层物件名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method.setTimeout( ) 通常是与 function一起用. 样例: 1 <%@ page language="j

jsp中的JSTL与EL表达式用法

JSTL (JSP Standard Tag Library ,JSP标准标签库) JSTL标签库分为5类:JSTL核心标签库.JSTL函数标签库.数据库标签库.I18N格式化标签库.XML标签库. JSTL的核心标签库主要包括:表达式操作.流程控制.迭代操作和URL操作.以下是JSTL常用标签的用法总结: 一.表达式操作 1.<c:out> 作用:用于显示数据的内容.语法1:没有本体内容 <c:out value="value" [escapeXml="{

jsp中自定义Taglib

一.自定义标签入门之无参数自定义标签 1.开发自定义标签类当我们在JSP页面使用一个简单的标签时,底层实际上由标签处理类提供支持,从而可以使用简单的标签来封装复杂的功能,从而使团队更好地协作开发(能让美工人员更好地参与JSP页面的开发).自定义标签类都必须继承一个父类:javax.servlet.jsp.tagext.SimpleTagSupport,或者TagSupport除此之外,JSP自定义标签类还有如下要求. 如果标签类包含属性,每个属性都有对应的getter和setter方法.重写do