View Javadoc

1   package org.seasar.cubby.tags;
2   
3   import java.io.IOException;
4   
5   import javax.servlet.jsp.JspException;
6   import javax.servlet.jsp.JspWriter;
7   import javax.servlet.jsp.PageContext;
8   import javax.servlet.jsp.SkipPageException;
9   
10  import org.apache.taglibs.standard.tag.rt.core.ImportTag;
11  
12  /**
13   * 
14   * @author agata
15   */
16  public class TemplateTag extends DynamicAttributesTagSupport {
17  
18  	private String extend;
19  
20  	public void setExtend(final String extend) {
21  		this.extend = extend;
22  	}
23  
24  	@Override
25  	public void doTag() throws JspException, IOException {
26  		getJspContext().setAttribute("parts", getDynamicAttribute(),
27  				PageContext.REQUEST_SCOPE);
28  		@SuppressWarnings("unused")
29  		JspWriter out = getJspContext().getOut();
30  		final ImportTag importTag = new ImportTag();
31  		importTag.setPageContext(getPageContext());
32  		importTag.setParent(new javax.servlet.jsp.tagext.TagAdapter(
33  				(javax.servlet.jsp.tagext.SimpleTag) this));
34  		importTag.setUrl(extend);
35  		int[] _jspx_push_body_count_c_import_0 = new int[] { 0 };
36  		try {
37  
38  			if (importTag.doStartTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE
39  					|| importTag.doEndTag() == javax.servlet.jsp.tagext.Tag.SKIP_PAGE) {
40  				throw new SkipPageException();
41  			}
42  		} catch (Throwable _jspx_exception) {
43  			while (_jspx_push_body_count_c_import_0[0]-- > 0)
44  				out = getJspContext().popBody();
45  			try {
46  				importTag.doCatch(_jspx_exception);
47  			} catch (Throwable e) {
48  				throw new JspException(e);
49  			}
50  		} finally {
51  			importTag.doFinally();
52  		}
53  	}
54  }