aglib根目录节点:tlib-version 、short-name、uri
tag节点:name、tag-class、body-content
attribute节点:name、required、fragment
实例
package net.sx.taglib;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class SimpleTag extends SimpleTagSupport{
public void doTag() throws JspException,IOException{
getJspContext().getOut().write("hello world");
}
}
package net.sx.taglib;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class AttributeTag extends SimpleTagSupport{
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public void doTag() throws JspException,IOException{
getJspContext().getOut().write("hello world " + name + ",age=" + age);
}
}
package net.sx.taglib;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class BodyTag extends SimpleTagSupport{
private String item;
public String getItem() {
return item;
}
public void setItem(String item) {
this.item = item;
}
public void doTag() throws JspException,IOException{
for(int i=0;i<5;i++){
getJspContext().setAttribute(item, i);
getJspBody().invoke(null);
}
}
}
<?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>A tag library exercising SimpleTag handlers.</description>
<tlib-version>1.0</tlib-version>
<short-name>SimpleTagLibrary</short-name>
<uri>http://taglib.sx.net</uri>
<tag>
<name>helloWorld</name>
<tag-class>net.sx.taglib.SimpleTag</tag-class>
<body-content>empty</body-content>
</tag>
<tag>
<name>attributeT</name>
<tag-class>net.sx.taglib.AttributeTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>name</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
<attribute>
<name>age</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
</tag>
<tag>
<name>bodyT</name>
<tag-class>net.sx.taglib.BodyTag</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>item</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
</tag>
</taglib>
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://taglib.sx.net" prefix="mytag"%>
<html>
<head></head>
<body>
<mytag:helloWorld/><br>
<mytag:attributeT name="severus" age="11"/><br>
<mytag:bodyT item="var">
${pageScope.var}
</mytag:bodyT>
</body>
</html>
分享到:
相关推荐
“还待整理”表明这个自定义tag学习过程可能仍在进行中。随着项目的发展,可能会发现新的需求,或者现有标签需要优化。持续整理和优化标签库可以使代码更规范,提高开发效率,同时降低维护成本。 总结,自定义标签...
J2EE学习系列五 Tag 学习资料 (*^__^*) 嘻嘻……
和DataGrid功能一样强大. 此资源包括三个包,有官方的,可以跟着学习,不过是英文的(display tag学习);有displytag最小单元,你的工程中要添加,就把这个copy过来就可以了;还有一个是doc参考文档. blog上有相应的...
<tagclass>org.whatisjava.mvc.taglib.HelloTag</tagclass> <!--用于规定标记体的内容--> <bodycontent>empty <!-- 以下用于声明该标记的属性(可以有多個) --> <name>times <required>true ...
7. **API接口**:AprilTag库应该提供一组接口供其他程序调用,学习如何使用这些接口是将AprilTag集成到项目中的第一步。 8. **示例代码**:在压缩包中,可能包含示例代码和教程,帮助初学者快速上手。 9. **相机...
在IT行业中,标签(TAG)切换是一种常见的网页交互设计元素,尤其在内容丰富的网站和博客中,它被广泛用于组织和导航内容。...如果你对此感兴趣,可以从提供的压缩包文件中学习并实践这个项目,提升自己的前端技能。
而描述部分提到,这是学习NFC技术时必看的文档,这强调了Type 2 Tag技术规范在学习NFC技术中的基础性和重要性。标签 "NFC Forum tag" 指代了与NFC论坛制定的标签相关的技术标准或文档。 在文档的【部分内容】中,...
对于初学者,可以通过在线教程和社区论坛来学习如何有效地使用Tag插件。Sublime Text的官方文档和第三方博客通常包含大量关于如何利用Tag插件提升开发效率的技巧和示例。 总的来说,Tag插件是Sublime Text 2中一款...
在Java Web开发中,分页是常见的数据...通过学习和掌握这一技术,开发者可以快速构建出具备高质量用户体验的分页功能,大大提高了开发效率。在实际项目中,可以根据需求进行适当的定制和扩展,以满足特定的业务场景。
**Proface触摸屏中文Tag手册...学习并熟练运用《Proface触摸屏中文Tag手册》的内容,将有助于用户更好地掌握Proface触摸屏的使用,提高自动化系统的效率和稳定性。对于工程师来说,这是一份不可或缺的技术参考资料。
在医疗成像领域,DICOM(Digital ...进一步学习和实践,你将能够处理各种复杂的DICOM场景,包括与PACS系统的交互。在实际开发过程中,一定要参考FO-DICOM的官方文档和社区资源,以便更好地理解和利用这个强大的工具。
这个过程简化了自定义标签的创建,降低了学习曲线,使得开发者即使没有深入的Java知识也能开发出实用的自定义标签。 ### 结论 JSP2.0引入的Tag Files机制为Web开发者提供了一种新的方法来处理动态内容的添加,使得...
一个优秀的tag标签特效不仅应该使得用户能够轻松地添加、删除或选择标签,还应该在视觉上提供清晰、美观的展示,同时保持较低的学习曲线。 例如,"不规则TAB选项卡效果"可能是指一种创新的标签展示形式,它偏离了...
如果R2先学习到R4的环回口路由,会通过OSPF传递给R3,反之亦然,这就可能导致数据包在R2和R3之间循环,影响网络性能。 为了解决这个问题,我们需要配置Tag。Tag是一种在路由信息中附加的标识符,用于控制路由的传播...
通过阅读和理解这段代码,开发者可以学习如何在Java中有效地处理音频文件的Tag信息,从而为音乐播放器或其他多媒体应用提供更丰富的功能。 总之,Java音频Tag解码是一个涉及文件读取、二进制解析和字符编码理解的...
它是互联网上最基础也是最重要的部分,让网页内容变得可读且交互性强。... 在HTML中,每个标签通常由一对尖括号包围,如`<tag>`和`</tag>`,其中`...通过不断地学习和实践,我们可以创建出功能丰富、用户体验优秀的网页。
《PROFACE触摸屏TAG使用手册》是一份详细指导用户如何在PROFACE触摸屏上操作和应用TAG技术的重要参考资料。这份手册旨在帮助用户深入...通过深入学习和实践,你可以更好地利用TAG功能,实现更智能、更高效的设备控制。
为了更好地理解和使用这个组件,开发者可以通过提供的"TagGroup自定义标签布局"源代码进行学习。源码中包含了详细的注释,有助于我们了解其实现原理,包括如何处理触摸事件、如何更新视图状态等。同时,通过查看示例...
`{dede:tag}`是一个用于处理tag标签的内建函数,它可以按需返回指定数量的tag条目,例如`row=120`表示返回120个tag。在输出HTML时,我们可以通过`[field:highlight /]`字段来获取随机生成的数字,然后将其作为CSS类...