java之动态标签

本文介绍了在Java开发中创建自定义动态标签的过程,包括创建标签处理类`DynamicAttr`,实现了`DynamicAttributes`接口,然后配置`.tld`文件,并在JSP页面中使用动态标签,展示了如何传递和展示动态属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



java之动态标

               在java开发过程中,自定义标签相当的富有乐趣,下面为大家带来一个简单的动态标签创建实例:

             1、创建标签处理类:关键词(继承 SimpleTagSupport 和实现 DynamicAttributes 接口)

 import java.io.IOException;

import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;

import java.io.*;
import java.util.*;

 public class DynamicAttr extends SimpleTagSupport implements DynamicAttributes
 {
  //保存每个属性名的集合
  private ArrayList<String> keys= new ArrayList<String>();
  //保存每个属性名的值得集合
  private ArrayList<Object> values=new ArrayList<Object>();
  //重新doTag方法
  public 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>");
  }
  
 @Override//实现接口方法
 public void setDynamicAttribute(String uri, String localname, Object value)
   throws JspException {
  // TODO Auto-generated method stub
  //添加属性名
  keys.add(localname);
  //添加属性值
  values.add(value);
  } 
 }

2、创建动态标签处理类以后,就需要修改标签配置文件.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 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>mytaglib</short-name>
    <uri>/mytaglib</uri> 
    
    <!-- 动态标签 -->
    <tag>
     <name>dynaAttr</name>
     <tag-class>lee.DynamicAttr</tag-class>
     <body-content>empty</body-content>
     <dynamic-attributes>true</dynamic-attributes>
   
    </tag>
</taglib>

3、实现使用动态标签 注:首先在jsp页面要先导入标签库(<%@ taglib uri="/mytaglib" prefix="mytag"%>):uri:是你上面标签配置项的链接,prefix:是你使用标签的前缀

<h2>下面显示的是自定义标签中的内容</h2>
<h4>指定两个属性</h4>
<mytag:dynaAttr name="feifan" url="happy"/><br/>
<h4>指定四个属性</h4><mytag:dynaAttr  账号="快乐人生" 密码="feifan118" 昵称="等着瞧" 座右铭="做了再说"/><br/>

4、完成以上3步,自定义动态标签就完成啦。大家试试看吧


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值