JSP自定义简单标签入门之带有属性
来源:互联网 发布:isp网络数量 编辑:程序博客网 时间:2024/06/05 07:31
上面写的那个简单标签来控制页面中标签内容的重复次数是固定的,这就是权限“写死了”,这是非常不好的行为,因为其灵活性太差。所以下面就介绍一种使用属性来控制标签内容输出次数的方法。
准备工作
- 创建实现了SimpleTag接口的实现类(或者是继承了SimpleTagSupport类的子类)
- 在类中为相应的属性字段添加setter方法,注意字段名称一定要一致。否则会出错滴
- 在tld文件中进行相关约束项的声明,不同于不带属性的简单标签的声明方式,这里多了一个attribute子标签,内有name,required(此属性是否必须存在),rtexprvalue(是否可以使用表达式,为了与EL表达式配合,一般会为true),
- 最后就是在jsp页面中进行taglib命令的声明,以及标签的使用了。
小案例分析与实现
- 第一步:创建类,字段setter设置:
package web.simpletag;import java.io.IOException;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.SimpleTagSupport;/** * 通过属性来控制标签体的执行次数 * @author Summer * */public class WithAttribute extends SimpleTagSupport { private int count;//用于操作maniplate次数的字段 public void setCount(int count) { this.count = count; } @Override public void doTag() throws JspException, IOException { for(int i=0;i<count; i++){ this.getJspBody().invoke(null); } }}
- 第二步:tld声明的书写:
<!-- 带有属性的的自定义简单标签 --> <tag> <name>WithAttribute</name> <tag-class>web.simpletag.WithAttribute</tag-class> <body-content>scriptless</body-content> <attribute> <name>count</name> <required>true</required> <!-- 属性值是否为表达式?一般是EL表达式 --> <rtexprvalue>true</rtexprvalue> </attribute> </tag>
- 第三步:jsp页面的生命与使用
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib uri="/simplesummer" prefix="summer"%><!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>使用属性来控制标签内容的输出次数的自定义简单标签的测试页面</title></head><body> <summer:WithAttribute count="7"> I am Summer !!!<BR> </summer:WithAttribute></body></html>
- 在jsp页面中,我们就可以手动的设置count属性的值来操作这个自定义标签的重复次数了。
测试结果展示:
1 0
- JSP自定义简单标签入门之带有属性
- JSP自定义标签之简单标签入门
- JSP带有属性的自定义标签
- JSP入门之自定义标签
- JSP带有标签体的自定义标签
- JAVA_WEB之 Jsp简单的自定义标签
- 自定义jsp标签入门
- JSP自定义标签入门
- JSP自定义标签之三:为标签添加属性
- JSP自定义标签之三:为标签添加属性
- 二,自定义带有属性的标签
- JSP----自定义标签---简单标签
- JSP 自定义标签:简单标签
- jsp 自定义标签【继承TagSupport类】【带有参数】 简单例子三
- JSP自定义标签rtexprvalue属性
- JSP自定义标签rtexprvalue属性
- JSP自定义标签rtexprvalue属性
- JSP自定义标签rtexprvalue属性
- .gitignore 与 Change-Id 的生成
- Git常用命令
- 重磅教程!帮你全面彻底搞定MATERIAL DESIGN的学习笔记
- 修改mybatis-generator-1.3.2源码实现自定义代码生成详解
- 【Java并发编程】深入分析ThreadLocal(八)
- JSP自定义简单标签入门之带有属性
- 汉字转拼音,处理数字与其他符号到#
- 【oracle调优】in和exists
- cocos studio的node文件
- MySQL字段名与保留字冲突
- SQL查看表注释、字段注释
- 关于有偿提供拼图响应式后台的通知
- git 强制忽略加入版本控制的文件
- 关于php 类 方法重定义的问题