`

自定义标签(三)

    博客分类:
  • jsp
 
阅读更多

二、控制标签体是否执行:

        其实就是执行开始标签,这个时候就启动了doStartTag()方法,要是执行标签体,把返回值设置成,return Tag.EVAL_BODY_INCLUDE;,要是不执行标签体就把返回值设置成return Tag.SKIP_BODY;这个时候在配置tld文件是要注意。

         <tag>
		<name>demo2</name>
		<tag-class>cn.tag.Demo2</tag-class>
		<body-content>JSP</body-content>
	</tag>

  这样的话就在jsp文件中才有标签体,然后在标签体中添加内容。

<fns:demo2>
	aaaaaaaa
</fns:demo2>

 三、是否执行余下的jsp内容。

要执行余下的jsp内容,这些余下的jsp内容在标签体的后面,所以及复写doEndTag()方法,如果不执行余下的部分,那么就返回return Tag.SKIP_PAGE,要是执行余下的部分就返回return Tag.EVAL_PAGE;

public int doEndTag() throws JspException {
		return Tag.SKIP_PAGE;		
}

 四、循环输出要执行的内容:

这个就要用到另外一个IterationTag接口来处理循环了,这个接口就是Tag接口的子接口,它也有默认实现类,其实就是TagSupport类。

1、Java类如下

package cn.tag;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.IterationTag;
import javax.servlet.jsp.tagext.Tag;
import javax.servlet.jsp.tagext.TagSupport;
/**
 * 循环输出5次
 * Porject Name:tag
 * File Name:Demo4.java
 * Description:
 * Author:zhangjl
 * Date:2014-1-13
 * Copyright (c) 2014,web_bckf@126.com All Rights Reserved.
 */
public class Demo4 extends TagSupport {
	int count = 5;

	/*
	 * 执行开始标签
	 * 
	 * @see javax.servlet.jsp.tagext.TagSupport#doStartTag()
	 */
	@Override
	public int doStartTag() throws JspException {

		return Tag.EVAL_BODY_INCLUDE;
	}

	@Override
	public int doAfterBody() throws JspException {
		count--;
		if (count > 0) {
			return IterationTag.EVAL_BODY_AGAIN;
		} else {
			return IterationTag.SKIP_BODY;
		}
	}
}
注意 
Tag.EVAL_BODY_INCLUDE和IterationTag.EVAL_BODY_AGAIN的区别,第一个是执行一次,而另外一个是重复执行标签

然后将Java文件引入到tld文件中,然后在jsp文件中引用tld文件。

 

 

分享到:
评论

相关推荐

    struts2 自定义标签

    三、自定义标签的实现步骤 1. 创建标签库描述文件(TLD,Tag Library Descriptor):这是定义自定义标签的关键文件,用于描述标签的属性、命名空间等信息。例如,`struts-tags.tld`。 2. 编写标签处理类(Tag Class...

    jsp2.0 自定义标签和自定标签函数

    在Java Server Pages (JSP) 2.0版本中,自定义标签和自定义标签函数极大地扩展了JSP开发的灵活性和可重用性。这些特性允许开发者创建可复用的组件,使代码更加清晰,易于维护。本文将深入探讨JSP 2.0中的自定义标签...

    struts实现自定义标签

    在 Struts 中,自定义标签是提供一种灵活的方式,使得视图层(通常为 JSP 页面)能够更好地与业务逻辑交互,从而提高代码的可读性和可维护性。本文将深入探讨如何在 Struts 中实现自定义标签。 一、自定义标签概述 ...

    JSP自定义标签学习笔记

    自定义标签通常由三部分组成:标签处理类、TLD(Tag Library Descriptor)文件和标签库导入声明。标签处理类负责处理标签逻辑,TLD文件描述了标签的元数据,如标签名称、属性、事件等,而导入声明则将标签库引入到...

    jsp 自定义标签的使用

    在JavaServer Pages (JSP) 技术中,自定义标签是提高代码可重用性和模块化的重要手段。自定义标签允许开发者创建自己的组件,这些组件可以像HTML标签一样在页面上使用,使得代码更加清晰易读。本教程将深入探讨JSP...

    自定义标签,标签实例,ppt

    三、创建自定义标签 创建自定义标签通常涉及以下几个步骤: 1. 编写TLD文件:TLD文件是XML格式的,用于描述自定义标签的属性、行为和事件。例如: ```xml &lt;name&gt;myTag &lt;tag-class&gt;...

    自定义标签连数据库

    自定义标签由三部分组成:标签库描述符(TLD)、标签处理类(Tag Handler Class)和标签库文件(JSP页面上的taglib指令)。TLD文件定义了标签的属性、行为以及它所关联的处理类。处理类是Java类,实现了JSP标准标签...

    JSP自定义标签实例与详细讲解

    三、自定义标签的实现 1. 定义标签处理类:这个类实现了`javax.servlet.jsp.tagext.Tag`接口或其子接口,如`TagSupport`,并覆盖`doStartTag()`和`doEndTag()`方法来处理标签的开始和结束。 2. 属性处理:自定义...

    JSP自定义标签之日期显示

    在Java服务器页面(JSP)开发中,自定义标签是一种扩展JSP功能的强大方式,它允许我们封装复杂的逻辑或重复使用的代码片段,提高代码的可读性和可维护性。本篇将深入探讨“JSP自定义标签之日期显示”,以及如何通过...

    自定义标签学习笔记

    #### 三、如何使用自定义标签 1. **标签库声明**:首先需要在JSP页面中声明所使用的标签库,使用`&lt;%@ taglib %&gt;`指令。 ```jsp ``` 其中,`uri`属性指定标签库的位置,可以是一个本地路径或者是远程URL;`...

    tag struts2的自定义标签实例

    三、在JSP页面中使用自定义标签 1. 引入标签库:在JSP页面中,通过`&lt;%@ taglib %&gt;`指令引入自定义标签库,并指定标签库的URI。 ```jsp ``` 2. 使用自定义标签:在页面中调用自定义标签,传递属性值。 ```jsp ${...

    jsp自定义标签编写的分页

    自定义标签由三部分组成:标签库描述符(TLD, Tag Library Descriptor)、标签处理类(Tag Handler Class)以及标签库(Tag Library)。TLD是XML文件,用于定义标签的属性、行为和关联的处理类。标签处理类是实现...

    struts2自定义标签案例详解

    自定义标签的创建主要涉及以下三个步骤: 1. **创建taglib文件 (.tld)**:TLD(Tag Library Descriptor)文件是自定义标签的元数据,用于定义标签的名称、类路径、属性等信息。例如,在示例中创建了一个名为`tangs....

    servlet+ 自定义标签

    ### servlet与自定义标签知识点详解 #### 一、Servlet概述 Servlet是一种服务器端的应用程序接口(API),主要用于构建动态Web应用程序。它比JSP技术出现得更早,在JSP诞生前,Servlet不仅负责处理业务逻辑...

    phpcms 自定义标签

    #### 三、创建自定义标签的步骤 ##### 1. 添加自定义标签函数 在`content_tag.class.php`文件中,可以定义一个新的方法作为自定义标签。例如,我们创建一个名为`myget`的方法: ```php /** * 自定义标签一 */ ...

    权威实用jsp自定义标签demo<select,checkbox,radio>

    在JavaServer Pages (JSP) 开发中,自定义标签是一种强大的工具,它允许开发者创建可重用的组件,提高代码的可读性和维护性。本教程“权威实用jsp自定义标签demo,checkbox,radio&gt;”专注于演示如何创建和使用自定义...

    原创-制作一个带参数的自定义标签

    ### 原创-制作一个带参数的自定义标签 #### 深入解析与实践指南 在Web开发中,自定义标签库是提升代码复用性和可维护性的重要手段,尤其是在JavaServer Pages (JSP)环境中。本文将基于一篇技术笔记——《自定义...

    jstl 自定义标签

    自定义标签由三部分组成:标签库描述符(TLD),标签处理类(Tag Handler Class)以及标签体(Tag Body)。 1. **标签库描述符(TLD)**:这是一个XML文件,定义了自定义标签的名字、描述、属性、行为等信息。例如,...

    JSP自定义标签之自动完成框

    自定义标签的实现通常涉及三个主要部分:标签库描述符(TLD)、标签处理类(Tag Handler Class)以及实际的JSP页面中的标签使用。 1. **标签库描述符(TLD)**: TLD是一个XML文件,它定义了自定义标签的元数据,...

    jsp自定义标签,structs2 JUNIT,structs2自定义拦截器

    本文将深入探讨三个核心概念:JSP自定义标签、Structs2框架以及JUnit测试,同时会提及Structs2中的自定义拦截器。 首先,JSP自定义标签是Java Web开发中的一种高级特性,它允许开发者创建自己的标签库,以提高代码...

Global site tag (gtag.js) - Google Analytics