`
zzy7182
  • 浏览: 123444 次
  • 性别: Icon_minigender_1
  • 来自: 火车头
社区版块
存档分类
最新评论

自定义Tag

 
阅读更多
在JSP中使用自己定义的tag标签
步骤1:编写创建tag的java类,继承TagSupport如下:
   public class SelectTag extends TagSupport{

	private static final long serialVersionUID = 330784907215740876L;

	private String id;
	private String name;
	private String style="";
	private String spanStyle="";
	private String value="";

	public int doStartTag() throws JspException {
		canEdit = isElementEdit(name);
		JspWriter out = pageContext.getOut();
		StringBuffer buffer = new StringBuffer();
		buffer.append("<select name='").append(name).append("'")
			  .append(" style='").append(style).append("' ");
		if(null != id){
			buffer.append(" id='").append(id).append("' ");
		}
		buffer.append(">");
		try {
			out.print(buffer.toString());
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return Tag.EVAL_BODY_INCLUDE;
	}

	public int doEndTag() throws JspException {
		JspWriter out = pageContext.getOut();
		StringBuffer buffer = new StringBuffer();
		buffer.append("</select>");
		if(canEdit){
			buffer.append("<script type='text/javascript'>")
				  .append("selectChecked('").append(id).append("','").append(value).append("');</script>");
		} else{
			buffer.append("<span id='").append(id).append("_span' style='").append(spanStyle).append("'></span>")
				  .append("<script type='text/javascript'>")
				  .append("selectChecked('").append(id).append("','").append(value).append("',true);</script>");
		}
		try {
			out.print(buffer.toString());
			out.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return Tag.EVAL_PAGE;
	}





步骤2:编写tld文件代码如下:
    <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>

	<tlibversion>1.0</tlibversion>
	<jspversion>1.1</jspversion>
	<shortname>zzz</shortname>
	<uri>http://xxxxxxx</uri>

	<tag>
		<name>select</name>
		<tagclass>com.xxxx.SelectTag</tagclass>
		<bodycontent>JSP</bodycontent>
		<attribute>
			<name>id</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>name</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>style</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>spanStyle</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
		<attribute>
			<name>value</name>
			<required>false</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>
</taglib>



步骤3:在JSP页面上引用自定义的tld文件代码如下:
<%@ taglib uri="/WEB-INF/tld/zzz.tld" prefix="zzz"%>


附加说明:
http://oyprunner.iteye.com/blog/539494
分享到:
评论

相关推荐

    ztree自定义tag

    在本文中,我们将深入探讨如何在ZTree中实现自定义tag,以及这一功能在实际场景中的应用。 首先,了解ZTree的基本结构是至关重要的。ZTree的数据源通常由JSON数组构成,每个JSON对象代表树中的一个节点。在这些对象...

    自定义Tag标签的使用、Struts2国际化全局资源配置(老鸟请绕道)

    在Java Web开发中,自定义Tag标签是一种常用的技术,它允许开发者创建可重用的代码块,提升开发效率,同时使代码结构更加清晰。Struts2框架提供了强大的自定义标签支持,结合国际化全局资源配置,可以实现多语言环境...

    自定义tag学习

    “还待整理”表明这个自定义tag学习过程可能仍在进行中。随着项目的发展,可能会发现新的需求,或者现有标签需要优化。持续整理和优化标签库可以使代码更规范,提高开发效率,同时降低维护成本。 总结,自定义标签...

    开源PHP论坛系统 所有文件都固化在安装文件中,安装时自动解压到你的目录中,它采用模板来控制界面;安装过程中可选择中文简体语言,编码是UTF-8,它具备基于角色的权限控制系统、短消息发送平台、审查与帖子回收系统;支持附件/IP跟踪/投票/电子报/全文搜索/用户禁用/自定义Tag/用户等级等功能

    - **自定义Tag**:用户可以创建和使用自定义标签,便于分类和查找相关内容。 - **用户等级**:根据用户的活跃度和贡献设置不同的等级,激励用户参与和互动。 关于“codefans.net”,这可能是论坛系统的开发者或...

    JSP 自定义 Tag 小测试

    博文链接:https://buaalijie.iteye.com/blog/241145

    jsp页面自定义标签Tag

    **JSP页面自定义标签(Tag)详解** 在Java服务器页面(JSP)技术中,自定义标签(Custom Tag)是提升代码复用性和可维护性的重要手段。它允许开发者创建自己的HTML标签来封装复杂的Java逻辑,使得页面更加清晰、易...

    JSP下 一个简单的自定义标签

    自定义标签由两部分组成:标签库描述符文件(TLD,Tag Library Descriptor)和标签处理类(Tag Handler Class)。TLD文件定义了标签的元数据,包括标签的名称、属性、返回类型等信息,通常以`.tld`为扩展名。而标签...

    Jsp自定义标签打包成Jar简单实例(含代码)

    2. **定义标签库描述符文件(TLD,Tag Library Descriptor)**:一个XML文件(通常命名为`taglib.tld`),其中包含了关于自定义标签的信息,如标签名、属性、标签处理类等。例如: ```xml xsi:schemaLocation=...

    C#自定义标签事例

    在C#编程中,自定义标签(Custom Control)是一种常见的技术,它允许开发者根据特定需求创建自己的UI元素,以扩展Windows Forms或WPF应用程序的功能。本篇将详细讲解如何利用C#实现自定义标签控件,并通过提供的示例...

    asp.net core razor自定义taghelper的方法

    在这个例子中,引入了自定义的TagHelper库`Ctrl.Core.Tag`,使得`&lt;test-button&gt;`标签可以在视图中使用。 为了增强TagHelper的功能,我们可以添加自定义属性。在`ButtonTagHelper`的`Process`方法中,通过`output....

    jsp自定义标签

    - **定义**:自定义tag标签是用户自定义的一种JSP标记,它能够扩展JSP的功能,简化页面开发并提高代码的可维护性和复用性。 - **用途**:常用于操作隐藏对象、处理HTML表单提交、访问数据库或其他企业级服务如邮件和...

    SSH 实现Tag标签

    3. **自定义Tag标签**:在SSH整合中,开发人员经常需要根据项目需求创建自定义Tag标签。这些标签可以封装复杂逻辑,使得JSP页面更加简洁。例如,创建一个显示用户信息的标签,可以将用户信息的查询和渲染封装在标签...

    自定义标签实例

    自定义标签实例 myTag

    jsp标签简介.pdf

    自定义tag标签是开发者根据需求定义的JSP扩展标记,它们可以封装特定的功能,如数据处理、业务逻辑等。当JSP页面被JSP引擎编译为Servlet时,自定义tag标签会被转换为对相应的tag处理类的操作。tag处理类是Java类,...

    织梦TAG静态化,操作步骤

    2. **设置静态化规则**:在同一页的“自定义TAG生成规则”处,输入你想要的TAG静态化URL格式,例如“/tag/{tagname}.html”。其中,“{tagname}”会自动替换为实际的TAG关键词。 3. **保存设置**:完成设置后,记得...

    jsp计算三角形的面积

    在这个“jsp计算三角形的面积”的示例中,我们将深入探讨如何利用JSP和自定义Tag库来实现一个简单的几何计算功能。 首先,让我们了解JSP中的自定义Tag。自定义Tag是JSP的一种扩展机制,它允许开发者创建可重用的、...

    jsp标签大全

    自定义Tag标签是开发者根据需求创建的特定功能标记,它们可以处理复杂的业务逻辑,如操作数据、处理表单、访问数据库或企业级服务。自定义Tag标签由三部分组成: 1. **Tag处理类**:当JSP页面被编译为Servlet时,...

    jsp标签库(详细)

    JSP标签库,特别是自定义tag标签,是提升Web开发效率和代码质量的关键工具。它们不仅简化了页面开发流程,还通过封装重复代码和逻辑,促进了代码的复用和团队协作。掌握JSP标签库的使用和自定义,对于任何从事JSP...

    上传并显示图片(使用jsp+tag编程,实现上传并显示图片功能)

    接下来,我们创建一个自定义Tag来显示已上传的图片。Tag库(Tag Library)是JSP的一个组件,它封装了特定功能的标签。我们创建一个名为`DisplayImageTag`的类,实现`javax.servlet.jsp.tagext.TagSupport`,并在其中...

Global site tag (gtag.js) - Google Analytics