自定义标签【包含属性】

 
在上一个例子的基础上,本例子添加了属性的支持。 实际意义,就是在jsp中,打印Hello。 可以根据输入的属性,决定字体的颜色,和字体大小。比上一个功能强大了一些。
 
1. 对应的JAVA 文件
package com.randy.tag;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

public class HelloPropTag extends TagSupport {

   private String fontSize = "3";
   private String fontColor = "#000000";
   public String getFontSize() {
     return fontSize;
  }

   public void setFontSize(String fontSize) {
     this.fontSize = fontSize;
  }

   public String getFontColor() {
     return fontColor;
  }

   public void setFontColor(String fontColor) {
     this.fontColor = fontColor;
  }

  @Override
   public int doEndTag() throws JspException {
    
     try {
      JspWriter out = pageContext.getOut();
        
        
      out.println( "<font color=\""+fontColor+ "\"size=\""+fontSize+ "\">hello tag</font>");
        
    } catch (IOException e) {
      e.printStackTrace();
    }
     return    EVAL_BODY_INCLUDE;
  }

  @Override
   public int doStartTag() throws JspException {
    
     try {
      JspWriter out = pageContext.getOut();
      out.println( "<br/>");
    } catch (IOException e) {
        
      e.printStackTrace();
    }
     return SKIP_PAGE;
  }

}
 
 
1.对应的tag 声明
<tag>
    <description> 含有属性</description>
    <name>helloPropTag</name>
    <tag- class>com.randy.tag.HelloPropTag</tag- class>
    <body-content>empty</body-content>
    <attribute>
      <name>fontSize</name>
      <required> false</required>
    </attribute>
    
    <attribute>
      <name>fontColor</name>
      <required> true</required>
    </attribute>

  </tag>
 
 

你可能感兴趣的:(职场,属性,休闲,定义标签)