Java_JSP2_如何使用动态标签?
来源:互联网 发布:怎么查询本机端口 编辑:程序博客网 时间:2024/05/07 02:28
特别说明:如果能帮助到您,请您留下点滴痕迹,让我知道我的存在是有意义的;如果不能帮助到您,请接受我的歉意;
动态属性标签相对普通标签的额外要求
(1)、标签处理类在继承SimpleTagSupport之外,还需要实现DynamicAttributes接口;
(2)、使用<dynamic-attributes.../>子元素指定该标签支持动态属性;
(3)、在重写doTag()方法后还得重写setDynamicAttribute()方法,此方法用于为该标签处理类动态地添加属性名和属性值;
=>DynaAttributesTag.java
package lee;import javax.servlet.jsp.tagext.*;import javax.servlet.jsp.*;import java.io.*;import java.util.*;/** * DynaAttributesTag_class * description:动态属性标签_简单输出动态加入的属性名和属性值; * @author cyb_23 * @version 1.0 */public class DynaAttributesTag extends SimpleTagSupport implements DynamicAttributes{//保存每个属性名的集合private ArrayList<String> keys = new ArrayList<String>();//保存每个属性值的集合private ArrayList<Object> values = new ArrayList<Object>();@Overridepublic void doTag() throws JspException, IOException{JspWriter out = getJspContext().getOut();//此处只是简单地输出每个属性out.println("<ol>");for( int i = 0; i < keys.size(); i++ ){String key = keys.get( i );Object value = values.get( i );out.println( "<li>" + key + " = " + value + "</li>" );}out.println("</ol>");}@Overridepublic void setDynamicAttribute( String uri, String localName, Object value ) throws JspException{//添加属性名keys.add( localName );//添加属性值values.add( value );}}=>mytaglib.tld
<?xml version="1.0" encoding="GBK"?><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>http://blog.csdn.net/cyb_23/mytaglib</uri><!-- 定义接受动态属性的标签 --><span style="white-space:pre"></span><tag> <span style="white-space:pre"></span><name>dynaAttr</name> <span style="white-space:pre"></span><tag-class>lee.DynaAttributesTag</tag-class> <span style="white-space:pre"></span><body-content>empty</body-content><!-- 指定支持动态属性 --> <span style="white-space:pre"></span><dynamic-attributes>true</dynamic-attributes> </tag></taglib>
=>dynaAttrTag.jsp
<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %><!-- 导入标签库,指定mytag前缀的标签 --><%@ taglib uri="http://www.crazyit.org/mytaglib" prefix="mytag"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>动态属性标签</title><meta name="website" content="http://blog.csdn.net/cyb_23" /></head><body bgcolor="#ffffc0"><h2>下面显示动态属性标签内容</h2><h4>指定两个属性</h4><mytag:dynaAttr name="crazyit" url="crazyit.org"/><br/><h4>指定四个属性</h4><mytag:dynaAttr 书名="疯狂Java讲义" 价格="99.0"出版时间="2008年" 描述="Java图书"/><br/></body></html>
0 0
- Java_JSP2_如何使用动态标签?
- Java_JSP2_使用URL Rewrite如何实现网站伪静态?
- Java_JSP2_查询标签(带属性标签);
- Java_JSP2_标签文件Tag File支持;
- Java_JSP2_带标签体的标签_迭代器标签;
- Java_JSP2_以页面片段作为属性的标签;
- 如何在React中使用数据动态生成DOM标签
- 如何动态设计分页标签
- jstl动态标签的使用
- 使用innerHTML动态生成标签
- Select标签如何动态设置默认选项
- 如何使用动态数组
- 如何使用jsp自定义标签
- [Git]04 如何使用标签
- Java_JSP2_监听在线用户信息;
- Java_JSP2_配置JSP属性;
- 动态sql之使用choose标签
- MyBatis动态SQL<choose>标签的使用
- Book Pro Git On Line
- mongodb:SQL to Aggregation Mapping Chart
- 关于Update affected more than 1 record问题
- convention插件与"约定"支持
- lua json
- Java_JSP2_如何使用动态标签?
- 几十种编程语言的快速入门教程
- sql中in和exists的区别效率问题 转
- cocos2dx 3.X Lua复选框的用法ccui.CheckBox
- 【cocos2dx音频问题参考方案】【Android开发】之MediaPlayer的错误分析
- 大一大二ACM训练时,建立的一个博客,专门用来写题解的
- deque的内部布局
- Android--WebView(展示Web数据)
- 数据分析基本思路及手法