⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bodytagdemo.java

📁 < J2EE应用开发详解>>一书全部的源代码. 本书基于J2EE 1.4平台
💻 JAVA
字号:
package com.j2ee14.ch11;

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

import java.io.Writer;
import java.io.IOException;

public class BodyTagDemo extends BodyTagSupport
{
	String fontColor;//一个属性。
	int counts;
	
	
	/**
	 *设置counts属性。这个方法由容器自动调用。
	 */
	public void setFontColor(String c)
	{
		this.fontColor=c;
	}
	public void setCounts(int c)
	{
		this.counts=c;
	}
	
	/**
	 *覆盖doStartTag方法,如果counts>0,返回EVAL_BODY_TAG,继续循环
	 *如果counts<=0,那么返回SKIP_BODY,表示不再继续循环标签体。
	 */
	 public int doStartTag() throws JspTagException  
	 {   
	     if(counts>0) 
	     { 
	         try
	         {
	         	pageContext.getOut().write("<font color="+fontColor+">");
	         }
	         catch(Exception e)
	         {}
	         
	         return EVAL_BODY_TAG;
	     } 
	     else 
	     { 
	          return SKIP_BODY;
	     } 
    }
    
    /**
     *覆盖doAfterBody方法,如果counts>1,那么使counts-1然后返回EVAL_BODY_TAG,
     *否则返回SKIP_BODY以不再计算Body。
     */
    public int doAfterBody() throws JspTagException 
    { 
        if(counts>1)
        {
        	counts--;
        	return EVAL_BODY_TAG; 
         }  
         else
         { 
            return SKIP_BODY; 
         } 
    }
    
   /**
     *覆盖doEndTag方法
     */
    public int doEndTag() throws JspTagException 
    {
        try 
        {  
             if(bodyContent != null)  
             {
             	bodyContent.writeOut(bodyContent.getEnclosingWriter()); 
             	pageContext.getOut().write("</font>");
             }
        } 
        catch(java.io.IOException e)
        {
        	throw new JspTagException("IO Error: " + e.getMessage());  
        }   
        return EVAL_PAGE;  
    }
    
     /**
      *初始化Body,这里是空的操作。
      */
     public void doInitBody() throws JspTagException{
     }
     
     /**
      *设置Body的内容,由容器指定调用。
      */
     public void setBodyContent(BodyContent bodyContent) 
     {   
          this.bodyContent=bodyContent; 
          
     }
        
        
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -