`
1028826685
  • 浏览: 938816 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类

jsp中使用简单标签实现自定义表签带有属性标签

    博客分类:
  • Jsp
阅读更多

知识点:


在TLD中描述标签属性:



开发带属性的标签:

自定义标签可以定义一个或多个属性,这样,在JSP页面中应用自定义标签时就可以设置这些属性的值,通过这些属性为标签处理器传递参数信息,从而提高标签的灵活性和复用性。
要想让一个自定义标签具有属性,通常需要完成两个任务:
在标签处理器中编写每个属性对应的setter方法
在TLD文件中描术标签的属性

为自定义标签定义属性时,每个属性都必须按照JavaBean的属性命名方式,在标签处理器中定义属性名对应的setter方法,用来接收JSP页面调用自定义标签时传递进来的属性值。 例如属性url,在标签处理器类中就要定义相应的setUrl(String url)方法。

在标签处理器中定义相应的set方法后,JSP引擎在解析执行开始标签前,也就是调用doStartTag方法前,会调用set属性方法,为标签设置属性。



实现步骤如下:

第一步:编写标签处理器类tagAttribute继承SimpleTagSupport

public class tagAttribute extends SimpleTagSupport {
/*
* JSP支持8种基本数据类型自动转换 ,其他类型使用表达式或java代码
*
* 开发带属性的标签步骤如下
* 第一:声明属性并且生成setter
* 第二:在*.tld文件中配置标签属性
*/
private int count;
private Date date;

public void setDate(Date date) {
this.date = date;
}

public void setCount(int count) {
this.count = count;
}

public void doTag() throws JspException, IOException {

JspFragment body=getJspBody();
JspWriter out=getJspContext().getOut();
for(int i=0;i<count;i++)
{
//传入null则默认是输出给浏览器
body.invoke(null);

// body.invoke(out);
}
String str=date.toLocaleString();
out.write(str);
super.doTag();
}
}

第二步:编写*.tld文件 --->view.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 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://www.liyong.simpletagattribute</uri>
    <tag>
        <description>show client IP</description>
        <name>attribute</name>
        <tag-class>com.liyong.attribute.tagAttribute</tag-class>
        <!-- 标签体不为空 这与传统标签不同 JSP -->
        <body-content>scriptless</body-content>
        <attribute>
<!-- 属性名 -->
        <name>count</name>
        <!-- 是否是必须的 -->
        <required>true</required>
        <!-- 是否支持表达式 -->
        <rtexprvalue>true</rtexprvalue>
        </attribute>
           <attribute>
<!-- 属性名 -->
        <name>date</name>
        <!-- 是否是必须的 -->
        <required>true</required>
        <!-- 是否支持表达式 -->
        <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>
  
</taglib>

第三步:编写jsp 并导入 viewid.tld文件

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://www.liyong.simpletagattribute" prefix="attribute" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'simpletag.jsp' starting page</title>
   
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

  </head>
 
  <body>
<!-- 带属性的标签,这里不是基本数据类型必须通过java代码或是EL表达式-->
<attribute:attribute count="30" date="<%= new Date() %>">
aaaaaaaaaaaaa
</attribute:attribute>
  </body>
</html>


第四步:测试...
  • 大小: 30 KB
分享到:
评论

相关推荐

    jsp自定义带属性的标签

    自定义标签可以带有属性,这些属性在标签被调用时可以传递特定的值,使得标签的使用更加灵活和强大。 #### 二、创建自定义带属性的标签步骤 1. **编写自定义标签类**:首先,你需要创建一个继承自`javax.servlet....

    JSP自定义标签学习笔记

    对于带有标记体的标签,需要继承`javax.servlet.jsp.tagext.BodyTagSupport`,并在处理类中使用`doStartTag()`、`doAfterBody()`和`doEndTag()`方法来处理标签体内容。 5.3 一个简单的带标记体的标签(二) 在实际...

    jsp自定义带标签体的标签

    ### jsp自定义带标签体的标签:深入解析与实践 在Java Server Pages(JSP)技术中,自定义标签是提升代码复用性和可维护性的重要手段之一。特别是带标签体的标签,它们允许在标签内部嵌入动态内容,为开发者提供了...

    JSP自定义标签开发使用

    - 在JSP页面中使用自定义标签,通过`&lt;%@ taglib %&gt;`指令引入标签库。 通过以上步骤,开发者可以创建自己的JSP自定义标签库,实现特定的功能,提高代码复用性和可维护性。在实际开发中,自定义标签常常用于复杂的...

    JSP自定义标签1

    可以像这样使用带有标签体的自定义标签:`内容&lt;/my:fargment&gt;`。 通过以上步骤,你就能创建并使用自定义的JSP标签了。这增强了JSP的可扩展性和复用性,使得开发更加灵活,代码更易于管理和维护。

    一个用于分页的自定义标签

    3. **在JSP页面中的使用**:开发者可以在JSP页面中像使用HTML标签一样使用这个自定义标签,传入必要的参数。 ```jsp ... ${currentPage}" totalPages="${totalPages}" /&gt; ``` 4. **前端样式**:通常,自定义标签...

    自定义标签小练习----一个简单的分页标签

    3. **在JSP页面中使用自定义标签**:在JSP文件中,通过`&lt;%@ taglib %&gt;`指令引入标签库,然后就可以像使用内置标签一样使用自定义标签了。 ```jsp ${currentPage}" totalPages="${totalPages}"/&gt; ``` 以上就是一...

    jsp自定义标签入门实例

    在JavaServer Pages (JSP) 技术中,自定义标签是实现页面逻辑与表现分离的重要手段之一。自定义标签允许开发者创建可重用、可扩展的组件,这些组件可以像HTML标签一样在JSP页面中使用,提高开发效率和代码的可维护性...

    自定义标签的使用

    在JSP页面中使用`options`标签: ```jsp ``` 这里`name`属性指向了`request`中与`Options`对象实例相关联的属性名称。通过这种方式,可以在JSP页面中动态地渲染出带有预设值的下拉列表。 #### 其他自定义标签...

    JSP自定义标签.ppt

    2. 带属性标签:包含一个或多个属性,如 `()/&gt;"/&gt;`。 3. 带标签体的标签:标签之间可以包含其他JSP标签、HTML或自定义标签的内容。 4. 可以被Scriptlet使用的标签:通过定义id和type属性,可以在标签后面的Scriptlet...

    自定义标签学习笔记

    自定义标签是JSP(Java Server Pages)中的一种功能,允许开发者创建可重用的组件。这些组件封装了特定的功能,可以在不同的JSP页面中复用,从而提高开发效率。 1. **自定义标签的本质**:本质上是一个简单的Java ...

    自定义标签库

    自定义标签库 自定义标签库是 JSP 页面...为自定义标签定义属性时,每个属性都必须按照 JavaBean 的属性命名方式,在标签处理器中定义属性名对象的 setter 方法,用来接收 JSP 页面调用自定义标签时传递进来的属性值。

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

    4. **在JSP页面中使用**:通过`&lt;%@ taglib %&gt;`指令引入自定义标签库,并在页面中使用自定义标签。 ### 三、自定义标签的参数与属性 自定义标签的参数或属性是在标签定义时声明的,它们提供了向标签传递数据的方式...

    JSP自定义标签入门实例

    自定义标签是JSP的高级特性,它允许我们创建自己的标签库,这些标签可以有自己的行为逻辑,与内置的JSP标签(如`&lt;jsp:include&gt;`或`&lt;c:forEach&gt;`)类似。通过定义标签处理程序类和XML格式的TLD(Tag Library ...

    原创-制作一个带参数的自定义标签

    自定义标签允许开发者封装复杂的业务逻辑和UI组件,以标签的形式在JSP页面中使用,极大地简化了页面设计和功能实现过程。特别是对于带参数的自定义标签,它能够根据不同的输入动态生成内容,灵活性和实用性更强。 *...

    java自定义分页标签实现带条件的分页查询

    7. **使用自定义标签**:在JSP页面中,插入`&lt;condition-pager&gt;`标签,传入查询条件和分页参数,标签将自动处理查询并渲染结果。 在提供的压缩包文件"ConditionPager"中,可能包含了实现上述功能的源代码,包括...

    jsp标签大全

    【JSP标签大全】 JSP(JavaServer Pages)是一种服务器端的动态网页技术,它允许开发者将HTML代码与Java代码结合起来,以实现更强大的功能。其中,JSP标签是JSP的重要组成部分,提供了丰富的功能,包括调用...

    带属性不带标签体的标签实例

    当JSP解析带有属性的自定义标签时,它会自动调用这些方法来设置或获取属性值。 配置带属性的自定义标签需要在`TLD`(Tag Library Descriptor)文件中定义。TLD文件描述了标签库中所有标签的元数据。对于`myTag`,...

    JSP应用开发-自定义标签的使用.pptx

    - **配置web.xml**:在`web.xml`文件中使用`&lt;taglib&gt;`元素定义标签库的URI和位置。 - **引入TLD到JSP页面**:在JSP页面中通过`&lt;%@ taglib %&gt;`指令引入TLD文件,以便使用自定义标签。 **5. 使用自定义标签** 在JSP...

    Java自定义标签 教程

    2. 带有属性的空标签,如`&lt;max num1="13" num2="32" /&gt;` 3. 带有内容的标签,如`&lt;greeting&gt;Welcome you!&lt;/greeting&gt;` 4. 带有内容和属性的标签,如`&lt;greeting name="zhou"&gt;Welcome you!&lt;/greeting&gt;` 5. 嵌套标签,如...

Global site tag (gtag.js) - Google Analytics