上次介绍了简单的taglib自定义标签,发现单纯的无属性自定义标签不能满足我们,如果可以在标签从加入我们需要的属性那么这样的话会更发方便了,可以根据我需要的什么参数直接传到指定的类展现我需要的内容,下面介绍带属性的taglib如何定义.
Java代码:
public class FieldTag extends TagSupport {
private static final long serialVersionUID = -3282476920723218742L;
private String field;
private Integer count;
public final String getField() {
return field;
}
public final void setField(String field) {
this.field = field;
}
public final Integer getCount() {
return count;
}
public final void setCount(Integer count) {
this.count = count;
}
@Override
public int doEndTag() throws JspException {
try {
JspWriter out = pageContext.getOut();
out.print(field);
out.print(count);
} catch (IOException e) {
e.printStackTrace();
}
return super.doEndTag();
}
}
tld如下:
<?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 web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>mytaglib</short-name>
<!-- 定义该标签库的URI 必须可以空-->
<uri></uri>
<!-- 定义第一个标签 -->
<tag>
<!-- 定义标签名 -->
<name>field</name>
<!-- 定义标签处理类 -->
<tag-class>org.lxh.taglib.FieldTag</tag-class>
<!-- 定义标签体为空 -->
<body-content>empty</body-content>
<attribute>
<name>field</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>count</name>
<rtexprvalue>true</rtexprvalue>
<retuired>true</retuired>
</attribute>
</tag>
</taglib>
编写带属性标签的时候需要注意以下几点:
一:每个定义好的属性必须写getset方法,如果不写getset的话会报错说当前taglib没有setter方法
二:每个定义的属性名称必须跟<attribute>标签中的<name>标签名称一致.
三:在<attribute>标签中参数如下<rtexprvalue>表示是否接受jsp语法或者el语言或其他动态语言,默认false.
四:每个标签属性是根据用户自定义的属性,也就是说定义一个值的时候为String的他就不能输入int等其他类型,否则就会报错.
jsp:如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib prefix="tf" uri="/WEB-INF/tld/testfield.tld" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Integer a = 10;
%>
<tf:field field="hi" count="<%=a%>"/>
</body>
</html>
结果如图:
分享到:
相关推荐
jsp使用自定义标签taglib分页系列——完整例子
在JSP页面`useHelloTagHaveProp.jsp`中,我们通过`<%@ taglib %>`指令导入了包含`helloTagHaveProp`标签的标签库,并通过`<myTag:helloTagHaveProp>`标签调用了该自定义标签,同时设置了`fontSize`和`fontColor`属性...
在JavaServer Pages (JSP) 中,自定义Taglib是一种扩展JSP功能的方式,它允许开发者创建可重用的自定义标签,以提高代码的可读性和可维护性。自定义Taglib通常由一系列标签(Tag)组成,这些标签对应于特定的Java类...
3. 在JSP页面中引入标签库:通过`<%@ taglib %>`指令引入TLD文件,然后就可以在页面中使用自定义标签了。 ```jsp <%@ taglib prefix="my" uri="/WEB-INF/mytags.tld" %> ``` 接下来,我们讨论自定义函数。自定义...
在Java服务器页面(JSP)开发中,自定义Taglib是一种强大的工具,它允许开发者创建可重用的自定义标签,以提高代码的可读性和可维护性。本文将深入讲解如何在JSP中实现自定义Taglib。 首先,我们来看自定义标签类的...
在JSP页面中,通过`<%@ taglib %>指令`引入自定义标签库,并使用`属性...</tag-name>`的格式调用自定义标签。 **二、自定义标签函数** 自定义标签函数是在JSP 2.0中引入的一种新的特性,它允许开发者像使用EL...
在JavaServer Pages (JSP) 技术...总结,自定义JSP标签是JSP开发中强大的工具,通过创建自己的标签库,可以提升项目的可维护性和代码质量。理解和掌握自定义标签的创建与使用对于任何JSP开发者来说都是必要的基础技能。
“带有参数的taglib(自定义标签)”是Java Web开发中的一个重要概念,它允许我们在JSP页面中定义和使用具有参数的自定义标签,从而提高代码质量,简化开发流程。了解并熟练掌握自定义标签的创建和使用,对于提升...
4. **在JSP页面中使用标签**:通过`<%@ taglib %>`指令引入标签库,并使用`<prefix>`指定前缀。然后,就可以像使用任何其他JSP内置标签一样使用自定义嵌套标签了。 #### 三、自定义嵌套标签的应用实例 在给定的...
二、创建自定义JSP标签 1. 编写标签处理类(Tag Handler):这个类实现了javax.servlet.jsp.tagext.Tag接口或TagSupport类,包含处理标签逻辑的代码。 2. 编写TLD文件:TLD文件是XML格式,定义了标签的名字、属性...
3. **在JSP页面中使用自定义标签**:在JSP页面中,通过`<jsp:taglib>`指令引入TLD文件,然后就可以像使用内置标签一样使用自定义标签了。例如,`<myTag:myTag attribute1="value1" attribute2="value2">`。 在给定...
总之,自定义JSP标签是JSP开发中的强大工具,能够帮助我们更好地组织和复用代码。结合AJAX技术,它们能轻松实现无刷新交互,提高用户体验。通过了解和熟练掌握自定义标签的创建和使用,开发者可以更高效地构建动态...
之后,在JSP页面中通过导入taglib指令来使用这个带属性的自定义标签,并通过count属性来控制输出内容的重复次数。 8. 注意事项:在创建自定义标签时需要注意,属性的数据类型必须是JSP容器能够自动转换的类型,否则...
在`studyRemark`目录中,你可以找到详细的教程和示例代码,这些资源将帮助你更好地理解和实践自定义JSP标签的开发。通过实际操作,你会熟悉整个流程,包括创建TLD、编写处理类以及在JSP页面中使用它们。这种实践经验...
3. **在JSP页面中使用**:在JSP页面中,通过`<%@ taglib %>`指令引入自定义标签库,然后就可以像使用内置标签一样使用自定义标签了。 二、分页封装 分页是网页应用中常见的需求,通过自定义标签可以方便地实现。...
自定义JSP标签是Java服务器页面(JSP)技术中的一种高级特性,它允许开发者创建自己的可重用组件,以增强网页的可维护性和代码复用性。在JSP中,自定义标签与HTML标签类似,但它们可以执行更复杂的业务逻辑,提供了...
二、自定义JSP标签的组成部分 1. 标签库描述文件(TLD,Tag Library Descriptor):定义了标签库的元数据,包括标签的名字、类、属性等信息。 2. 标签处理类(Tag Handler Class):实现了自定义标签的行为,处理...
#### 二、Taglib自定义标签库构建步骤 ##### 1. 开发标签实现类 以“helloTag”为例,我们首先需要创建一个标签实现类。在这个例子中,“helloTag”继承了`TagSupport`类,这是JSP提供的一个基础标签类,简化了...
本资料包“JSP标签、自定义标签,含有属性”专注于讲解JSP中的两种主要标签类型:标准动作标签(JSP Standard Tags, JSTL)和自定义标签。 1. **JSP标准动作标签**: JSTL是一组符合JSR-52标准的标签库,包括核心...