JSP继承TagSupport如何开发带属性的自定义标签

Taglib的无属性自定义标签不能满足我们,如果可以在标签从加入我们需要的属性那么这样的话会更发方便了,可以根据我需要的什么参数直接传到指定的类展现我需要的内容。Taglib开发自定义属性标签步骤如下:

1. 导入java包

import javax.servlet.jsp.*;

import javax.servlet.jsp.tagext.*;

2. 创建实现了TagSupport接口的实现类(或者是继承了SimpleTagSupport类的子类)

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();

}

}

在类中为相应的属性字段添加setter方法,注意字段名称一定要一致。

3. tld文件中进行相关约束项的声明

1.0

mytaglib

field

org.lxh.taglib.FieldTag

empty

field

true

true

count

true

true

不同于不带属性的简单标签的声明方式,这里多了一个attribute子标签,内有name,required(此属性是否必须存在),rtexprvalue(是否可以使用表达式,为了与EL表达式配合,一般会为true)。

4. jsp页面中进行taglib命令的声明,使用标签的自定义属性

总结

1. 每个定义好的属性必须写getset方法,如果不写getset的话会报错说当前taglib没有setter方法

2. 每个定义的属性名称必须跟标签中的标签名称一致.

3. 在标签中参数如下表示是否接受jsp语法或者el语言或其他动态语言,默认false.

4. 每个标签属性是根据用户自定义的属性,也就是说定义一个值的时候为String的他就不能输入int等其他类型,否则就会报错.

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。

java 自定义标签继承_JSP继承TagSupport如何开发带属性的自定义标签相关推荐

  1. java int64如何定义_java – 具有两个int属性的自定义类的hashCode是什么?

    在 Java中,我有一个类表示一个具有int坐标的点 public class Point { int x = -1; int y = -1; public Point (int xNew, int ...

  2. java自定义标签简单_JSP 自定义标签之一 简单实例

    在jsp中使用自定义标签可以达到这样的目的,事实上,我们所熟知的各类框架基本上都是通过自定义标签的形式来实现的. 通过使用自定义标签,我们可以将实现复杂的逻辑在页面用简单的标签来加以展示.下面我们来实 ...

  3. Java基础知识之封装+继承+多态详解

    前言 这篇博客是基于Java类和对象的基础之上的相关知识点.因为特别重要且语法规则较多,所以想单独总结方便之后复习. 本篇博客涉及知识点思维导图: 目录 1.封装 2.继承 3.多态 1.封装 生活中 ...

  4. java只允许单一继承_问题:Java语言只允许单继承,指每个类只能有一个 ( )

    问题:Java语言只允许单继承,指每个类只能有一个 ( ) 更多相关问题 用List命令显示表文件中的当前记录的命令格式是________. WHERE子句的条件表达式中,可以匹配0个到多个字符的通配 ...

  5. JAVA基础之接口与继承

    在设计LOL的时候,进攻类英雄有两种,一种是进行物理系攻击,一种是进行魔法系攻击 这时候,就可以使用接口来实现这个效果. 接口就像是一种约定,我们约定某些英雄是物理系英雄,那么他们就一定能够进行物理攻 ...

  6. Java从头开始--封装、继承和多态

    面向对象的三大特征 1.面向对象语言的三大特征 封装 继承 多态 封装 封装的概念 将类中的某些信息(成员变量,方法)隐藏起来,不让外部的程序直接访问,可通过专门的方法来实现对隐藏信息的操作和访问. ...

  7. JAVA基础学习-接口与继承

    8.1 接口 在设计LOL的时候,进攻类英雄有两种,一种是进行物理系攻击,一种是进行魔法系攻击 这时候,就可以使用接口来实现这个效果. 接口就像是一种约定,我们约定某些英雄是物理系英雄,那么他们就一定 ...

  8. java 父类是抽象类 定义private的属性 子类继承_java继承、多态、接口、抽象类定义及应用...

    继承:关键字extends java 中继承是单继承 允许多个子类继承一个父类,不允许一个子类继承多个父类. 继承是继承父类的所有属性和方法,但并不是所有的属性和方法都可被子类调用: 子类继承父类是必 ...

  9. Java中实现接口与继承的区别

    ** Java中实现接口与继承的区别 ** 首先,先来了解一下什么是接口和继承.接口一般是使用interface来定义的.接口定义同类的定义类似,分为接口的声明和接口体,其中接口体由常量定义和方法定义 ...

最新文章

  1. 刘启成_使用if及变量编写LAMP管理脚本
  2. 四舍五入到小数点后两位[重复]
  3. [HNOI2013]比赛 搜索
  4. IDEA创建Mybatis逆向工程创建项目超详细代码
  5. K3打印单据,提示:等待C盘释放空间,内存不足
  6. Axis2在eclipse和tomcat下的配置
  7. 电信商务领航1-1端口映射即虚拟服务器
  8. Linux下安装gcc环境
  9. 游戏模型(3A)和影视模型(cg)的区别以及发展前景?
  10. 遇到【java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter】的解决方案
  11. PHP是TM最美的语言,我的文章是最棒的狗粮
  12. 滴滴打车创新盈利方式
  13. 【直播活动】阿里巴巴开源大家族加入中科院开源之夏2022
  14. 物联网网关关键技术包括两个方面,物联网网关是智能家居发展的重要支撑
  15. ​​​​​​​24点游戏
  16. 计算机毕业设计Node.js+Vue安卓电影院售票管理APP论文(程序+源码+LW+部署)
  17. 使用Beaglebone Black的PRU(二)——Hello World!
  18. 测试金士顿固态硬盘软件,借装机之名测试SSD:金士顿的当红两款固态究竟如何?...
  19. 阿里云phpsdk的使用方法
  20. 九度:1013开门人

热门文章

  1. Nginx高并发之限流+日志分割
  2. 网易考拉加拿大鹅鉴定结果出炉 杭州滨江市监局:正品
  3. 垃圾邮件是如何用贝叶斯方法过滤掉的
  4. 服务器与用户终端安全保密管理,我院干警参加涉密网络安全保密管理人员培训班...
  5. 使用angularJs实现tab切换
  6. EGE图形库基础及使用方法
  7. AWS案例研究:海康威视
  8. 电能能耗监测系统是什么?
  9. 【Linux】磁盘分区常用方案
  10. 关键点定位︱四款人体姿势关键点估计论文笔记