package org.itscool.stylist.tag;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;

import org.itscool.stylist.controller.Globals;
/**
 * 指定されたJSPをレイアウト用JSPにインクルードするためのタグです。<BR>
 * 出力する内容はname属性で指定したJSPをレイアウト用JSPの指定された
 * 位置にパディングします。
 * 
 * @author KANO
 * @since jdk1.4.1
 * @version 1.00A 2004/11/1
 * @version 1.11A 2005/05/20 Include機能を削除（Stylistとの分離）
*/
public class IncludeBodyTag extends BodyTagSupport {
    
    /**
     * 指定されたJSPをレイアウト用JSPにインクルードします
    */
    public int doStartTag() throws JspException {
        try {
            String buff =
                (String) pageContext.getRequest().getAttribute(
                Globals.REQ_PARAM_INCLUDE_BODY_TAG);
            if( buff != null && buff.length() > 0 ){
            	pageContext.getOut().print(buff);
            }else{
                pageContext.getOut().print("<body>");
            }
            
        } catch (Exception e) {
            String err = "doStartTag() failed ("
                    + IncludeBodyTag.class.getName()
                    + ") ("
                    + e.getMessage()
                    + ")";
            e.printStackTrace();
            throw new JspException(err);
        }

        return EVAL_BODY_INCLUDE;
    }

    public int doEndTag() {
        try{
            pageContext.getOut().print("</body>");
        }catch(IOException ioe){}
        return EVAL_PAGE;
    }

}
