开发带属性的标签:helloTagHaveProp

本实例中开发的标签在helloTag标签上作出改进,开发目标是在helloTag标签上增加两个属性fontSize和fontColor,fontSize用于设置字体大小,fontColor用于设置文字的颜色。

  (1)第一步:开发标签实现类。
  helloTagHaveProp.java
  package hello;
  import javax.servlet.jsp.JspWriter;
  import javax.servlet.jsp.tagext.TagSupport;
  public class helloTagHaveProp extends TagSupport {
    private String fontSize="3";//字体大小,默认3号
    private String fontColor="#000000";//字体颜色,默认黑色
    //----标签开始时调用此方法-------
    public int doStartTag(){
        try{
            JspWriter out=pageContext.getOut();
            out.print("标签开始了。<font color=\""+fontColor +
                 "\" size=\""+fontSize+"\">hello!</font>");
        }catch(Exception e){
            System.out.println(e);
        }
        return EVAL_BODY_INCLUDE;
    }
    //----标签结束时调用此方法-------
    public int doEndTag(){
        try{
            JspWriter out=pageContext.getOut();
            out.print("标签结束了。");
        }catch(Exception e){
            System.out.println(e);
        }
        return EVAL_PAGE;
    }  
    public String getFontColor() {
        return fontColor;
    }
    public void setFontColor(String fontColor) {
        this.fontColor = fontColor;
    }
    public String getFontSize() {
        return fontSize;
    }
    public void setFontSize(String fontSize) {
        this.fontSize = fontSize;
      }
  }

  (2)第二步:编写标签描述tld文件。这里在myTag.tld文件中增加内容,在<taglib>与</taglib>之间增加的内容如下:
  <!-- helloTagHaveProp-->
  <tag>
     <!-- 标签名称-->
     <name>helloTagHaveProp</name>
     <!-- 标签对应的处理类-->
     <tag-class>hello.helloTagHaveProp</tag-class>
     <!-- 标签体内容,没有标签体则设为empty-->
     <body-content>empty</body-content>
     <!-- 标签的属性声明-->
     <attribute>
      <name>fontSize</name>
      <required>false</required>
     </attribute>
     <attribute>
      <name>fontColor</name>
      <required>false</required>
     </attribute>
  </tag>

  其中,name为属性的名称,required设置此属性是否必须设置,如果为true则在JSP页面中使用此标签时,必须给标签的这个属性赋值。

  (3)第三步:在Web应用的web.xml文件中声明标签库引用。本例与实例108使用同一个tld文件,故不必再修改。

  (4)第四步:在JSP页面中声明并调用标签。
  useHelloTagHaveProp.jsp
  <%@ taglib uri="/myTag" prefix="myTag" %>
  <%@ page contentType="text/html;charset=GB2312" %>
  <html>
    <head>
    <title>一个简单的自定义标签</title>
    </head>
    <body>
   下面是应用这个简单的自定义标签的结果:<br>
  <myTag:helloTagHaveProp fontSize="5"/><br>
  <myTag:helloTagHaveProp fontSize="4" fontColor="red"/>
    </body>
  </html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值