`
ymq267
  • 浏览: 128882 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

自定义JSP中的Taglib标签之二带自定义属性的标签

阅读更多
上次介绍了简单的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使用自定义标签taglib分页系列——完整例子

    jsp自定义带属性的标签

    在JSP页面`useHelloTagHaveProp.jsp`中,我们通过`&lt;%@ taglib %&gt;`指令导入了包含`helloTagHaveProp`标签的标签库,并通过`&lt;myTag:helloTagHaveProp&gt;`标签调用了该自定义标签,同时设置了`fontSize`和`fontColor`属性...

    在jsp中使用自定义taglib

    在JavaServer Pages (JSP) 中,自定义Taglib是一种扩展JSP功能的方式,它允许开发者创建可重用的自定义标签,以提高代码的可读性和可维护性。自定义Taglib通常由一系列标签(Tag)组成,这些标签对应于特定的Java类...

    JSP自定义标签JSP自定义标签

    4. **JSP页面实现**:在JSP页面中,通过`&lt;%@ taglib&gt;`指令导入标签库,然后就可以像使用HTML标签一样使用自定义标签了。例如,`&lt;w:HelloWorldTag&gt;`引用了前缀为`w`的标签库中的`HelloWorldTag`标签。 5. **示例**:...

    java自定义标签、自定义函数、taglib

    3. 在JSP页面中引入标签库:通过`&lt;%@ taglib %&gt;`指令引入TLD文件,然后就可以在页面中使用自定义标签了。 ```jsp &lt;%@ taglib prefix="my" uri="/WEB-INF/mytags.tld" %&gt; ``` 接下来,我们讨论自定义函数。自定义...

    jsp中自定义Taglib详解

    在Java服务器页面(JSP)开发中,自定义Taglib是一种强大的工具,它允许开发者创建可重用的自定义标签,以提高代码的可读性和可维护性。本文将深入讲解如何在JSP中实现自定义Taglib。 首先,我们来看自定义标签类的...

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

    在JSP页面中,通过`&lt;%@ taglib %&gt;指令`引入自定义标签库,并使用`属性...&lt;/tag-name&gt;`的格式调用自定义标签。 **二、自定义标签函数** 自定义标签函数是在JSP 2.0中引入的一种新的特性,它允许开发者像使用EL...

    自定义JSP标签样例

    在JavaServer Pages (JSP) 技术...总结,自定义JSP标签是JSP开发中强大的工具,通过创建自己的标签库,可以提升项目的可维护性和代码质量。理解和掌握自定义标签的创建与使用对于任何JSP开发者来说都是必要的基础技能。

    带有参数的taglib(自定义标签)

    “带有参数的taglib(自定义标签)”是Java Web开发中的一个重要概念,它允许我们在JSP页面中定义和使用具有参数的自定义标签,从而提高代码质量,简化开发流程。了解并熟练掌握自定义标签的创建和使用,对于提升...

    jsp自定义嵌套标签

    4. **在JSP页面中使用标签**:通过`&lt;%@ taglib %&gt;`指令引入标签库,并使用`&lt;prefix&gt;`指定前缀。然后,就可以像使用任何其他JSP内置标签一样使用自定义嵌套标签了。 #### 三、自定义嵌套标签的应用实例 在给定的...

    掌握自定义jsp标签s

    二、创建自定义JSP标签 1. 编写标签处理类(Tag Handler):这个类实现了javax.servlet.jsp.tagext.Tag接口或TagSupport类,包含处理标签逻辑的代码。 2. 编写TLD文件:TLD文件是XML格式,定义了标签的名字、属性...

    jsp 自定义标签实例

    3. **在JSP页面中使用自定义标签**:在JSP页面中,通过`&lt;jsp:taglib&gt;`指令引入TLD文件,然后就可以像使用内置标签一样使用自定义标签了。例如,`&lt;myTag:myTag attribute1="value1" attribute2="value2"&gt;`。 在给定...

    自定义JSP标签,用于实现无刷新的方法之一

    总之,自定义JSP标签是JSP开发中的强大工具,能够帮助我们更好地组织和复用代码。结合AJAX技术,它们能轻松实现无刷新交互,提高用户体验。通过了解和熟练掌握自定义标签的创建和使用,开发者可以更高效地构建动态...

    JSP自定义标签-标签属性_动力节点Java学院整理

    之后,在JSP页面中通过导入taglib指令来使用这个带属性的自定义标签,并通过count属性来控制输出内容的重复次数。 8. 注意事项:在创建自定义标签时需要注意,属性的数据类型必须是JSP容器能够自动转换的类型,否则...

    开发自定义JSP标签

    在`studyRemark`目录中,你可以找到详细的教程和示例代码,这些资源将帮助你更好地理解和实践自定义JSP标签的开发。通过实际操作,你会熟悉整个流程,包括创建TLD、编写处理类以及在JSP页面中使用它们。这种实践经验...

    jsp 自定义标签的使用

    3. **在JSP页面中使用**:在JSP页面中,通过`&lt;%@ taglib %&gt;`指令引入自定义标签库,然后就可以像使用内置标签一样使用自定义标签了。 二、分页封装 分页是网页应用中常见的需求,通过自定义标签可以方便地实现。...

    自定义JSP标签

    自定义JSP标签是Java服务器页面(JSP)技术中的一种高级特性,它允许开发者创建自己的可重用组件,以增强网页的可维护性和代码复用性。在JSP中,自定义标签与HTML标签类似,但它们可以执行更复杂的业务逻辑,提供了...

    掌握自定义jsp标签

    二、自定义JSP标签的组成部分 1. 标签库描述文件(TLD,Tag Library Descriptor):定义了标签库的元数据,包括标签的名字、类、属性等信息。 2. 标签处理类(Tag Handler Class):实现了自定义标签的行为,处理...

    Taglib自定义标签库

    #### 二、Taglib自定义标签库构建步骤 ##### 1. 开发标签实现类 以“helloTag”为例,我们首先需要创建一个标签实现类。在这个例子中,“helloTag”继承了`TagSupport`类,这是JSP提供的一个基础标签类,简化了...

Global site tag (gtag.js) - Google Analytics