KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jahia > deprecated > taglibs > field > page > IfCurrentPageTag


1 package org.jahia.deprecated.taglibs.field.page;
2
3 import java.io.IOException JavaDoc;
4
5 import javax.servlet.ServletRequest JavaDoc;
6 import javax.servlet.jsp.JspWriter JavaDoc;
7 import javax.servlet.jsp.tagext.BodyContent JavaDoc;
8 import javax.servlet.jsp.tagext.BodyTagSupport JavaDoc;
9
10 import org.jahia.data.JahiaData;
11 import org.jahia.services.pages.JahiaPage;
12 import org.jahia.utils.JahiaConsole;
13
14
15 /**
16  * Class IfCurrentPageTag : evaluates the body only if the page contained in the
17  * enclosing PageFieldTag is the current page
18  * This tag must be enclosed inside a PageField tag.
19  *
20  * @author Jerome Tamiotti
21  */

22 public class IfCurrentPageTag extends BodyTagSupport JavaDoc {
23
24     public int doStartTag() {
25
26         // looks for the enclosing PageField tag
27
PageFieldTag parent = (PageFieldTag) findAncestorWithClass(this, PageFieldTag.class);
28         if (parent == null) {
29             return SKIP_BODY;
30         }
31         JahiaPage thePage = parent.getPage();
32         if (thePage != null) {
33
34             ServletRequest JavaDoc request = pageContext.getRequest();
35             JahiaData jData = (JahiaData) request.getAttribute("org.jahia.data.JahiaData");
36             if (jData.page().getID() == thePage.getID()) {
37                 return EVAL_BODY_INCLUDE;
38             }
39         }
40         return SKIP_BODY;
41     }
42
43
44     public int doAfterBody() {
45
46         try {
47             BodyContent JavaDoc body = getBodyContent();
48             if (body != null){
49                 JspWriter JavaDoc out = body.getEnclosingWriter();
50                 out.print(body.getString());
51             }
52         } catch (IOException JavaDoc ioe) {
53             JahiaConsole.println("IfCurrentPageTag: doAfterBody ", ioe.toString());
54         }
55         return SKIP_BODY;
56     }
57 }
58
Popular Tags