在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的基本结构是至关重要的。ZTree的数据源通常由JSON数组构成,每个JSON对象代表树中的一个节点。在这些对象...
在Java Web开发中,自定义Tag标签是一种常用的技术,它允许开发者创建可重用的代码块,提升开发效率,同时使代码结构更加清晰。Struts2框架提供了强大的自定义标签支持,结合国际化全局资源配置,可以实现多语言环境...
“还待整理”表明这个自定义tag学习过程可能仍在进行中。随着项目的发展,可能会发现新的需求,或者现有标签需要优化。持续整理和优化标签库可以使代码更规范,提高开发效率,同时降低维护成本。 总结,自定义标签...
- **自定义Tag**:用户可以创建和使用自定义标签,便于分类和查找相关内容。 - **用户等级**:根据用户的活跃度和贡献设置不同的等级,激励用户参与和互动。 关于“codefans.net”,这可能是论坛系统的开发者或...
博文链接:https://buaalijie.iteye.com/blog/241145
**JSP页面自定义标签(Tag)详解** 在Java服务器页面(JSP)技术中,自定义标签(Custom Tag)是提升代码复用性和可维护性的重要手段。它允许开发者创建自己的HTML标签来封装复杂的Java逻辑,使得页面更加清晰、易...
自定义标签由两部分组成:标签库描述符文件(TLD,Tag Library Descriptor)和标签处理类(Tag Handler Class)。TLD文件定义了标签的元数据,包括标签的名称、属性、返回类型等信息,通常以`.tld`为扩展名。而标签...
2. **定义标签库描述符文件(TLD,Tag Library Descriptor)**:一个XML文件(通常命名为`taglib.tld`),其中包含了关于自定义标签的信息,如标签名、属性、标签处理类等。例如: ```xml xsi:schemaLocation=...
在C#编程中,自定义标签(Custom Control)是一种常见的技术,它允许开发者根据特定需求创建自己的UI元素,以扩展Windows Forms或WPF应用程序的功能。本篇将详细讲解如何利用C#实现自定义标签控件,并通过提供的示例...
在这个例子中,引入了自定义的TagHelper库`Ctrl.Core.Tag`,使得`<test-button>`标签可以在视图中使用。 为了增强TagHelper的功能,我们可以添加自定义属性。在`ButtonTagHelper`的`Process`方法中,通过`output....
- **定义**:自定义tag标签是用户自定义的一种JSP标记,它能够扩展JSP的功能,简化页面开发并提高代码的可维护性和复用性。 - **用途**:常用于操作隐藏对象、处理HTML表单提交、访问数据库或其他企业级服务如邮件和...
3. **自定义Tag标签**:在SSH整合中,开发人员经常需要根据项目需求创建自定义Tag标签。这些标签可以封装复杂逻辑,使得JSP页面更加简洁。例如,创建一个显示用户信息的标签,可以将用户信息的查询和渲染封装在标签...
自定义标签实例 myTag
自定义tag标签是开发者根据需求定义的JSP扩展标记,它们可以封装特定的功能,如数据处理、业务逻辑等。当JSP页面被JSP引擎编译为Servlet时,自定义tag标签会被转换为对相应的tag处理类的操作。tag处理类是Java类,...
2. **设置静态化规则**:在同一页的“自定义TAG生成规则”处,输入你想要的TAG静态化URL格式,例如“/tag/{tagname}.html”。其中,“{tagname}”会自动替换为实际的TAG关键词。 3. **保存设置**:完成设置后,记得...
在这个“jsp计算三角形的面积”的示例中,我们将深入探讨如何利用JSP和自定义Tag库来实现一个简单的几何计算功能。 首先,让我们了解JSP中的自定义Tag。自定义Tag是JSP的一种扩展机制,它允许开发者创建可重用的、...
自定义Tag标签是开发者根据需求创建的特定功能标记,它们可以处理复杂的业务逻辑,如操作数据、处理表单、访问数据库或企业级服务。自定义Tag标签由三部分组成: 1. **Tag处理类**:当JSP页面被编译为Servlet时,...
JSP标签库,特别是自定义tag标签,是提升Web开发效率和代码质量的关键工具。它们不仅简化了页面开发流程,还通过封装重复代码和逻辑,促进了代码的复用和团队协作。掌握JSP标签库的使用和自定义,对于任何从事JSP...
接下来,我们创建一个自定义Tag来显示已上传的图片。Tag库(Tag Library)是JSP的一个组件,它封装了特定功能的标签。我们创建一个名为`DisplayImageTag`的类,实现`javax.servlet.jsp.tagext.TagSupport`,并在其中...