KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jahia > taglibs > container > AnchorTag


1 package org.jahia.taglibs.container;
2
3 import java.io.IOException JavaDoc;
4
5 import javax.servlet.ServletRequest JavaDoc;
6 import javax.servlet.jsp.JspException JavaDoc;
7 import javax.servlet.jsp.JspWriter JavaDoc;
8 import javax.servlet.jsp.tagext.TagSupport JavaDoc;
9
10 import org.jahia.data.JahiaData;
11 import org.jahia.data.containers.JahiaContainer;
12 import org.jahia.data.fields.JahiaField;
13 import org.jahia.exceptions.JahiaException;
14 import org.jahia.utils.JahiaConsole;
15
16
17 /**
18  * Class AnchorTag : draw an anchor for the enclosing container on the given field
19  *
20  * @author Jerome Tamiotti
21  */

22 public class AnchorTag extends TagSupport JavaDoc {
23
24     private String JavaDoc fieldName = "";
25
26     public void setFieldName(String JavaDoc name) {
27         this.fieldName = name;
28     }
29
30
31     public int doStartTag() {
32
33         ContainerTag parent = (ContainerTag) findAncestorWithClass(this, ContainerTag.class);
34
35         if (parent != null) {
36
37             JahiaContainer container = parent.getContainer();
38             if (container != null) {
39                 try {
40                     JahiaField theField = container.getField(this.fieldName);
41                     if (theField != null) {
42                         ServletRequest JavaDoc request = pageContext.getRequest();
43                         JahiaData jData = (JahiaData) request.getAttribute("org.jahia.data.JahiaData");
44                         JspWriter JavaDoc out = pageContext.getOut();
45                         out.print(jData.gui().html().drawAnchor(theField));
46                     }
47                 } catch (JahiaException je) {
48                     JahiaConsole.println("AnchorTag.doStartTag", je.toString());
49                 } catch (IOException JavaDoc ioe) {
50                     JahiaConsole.println("AnchorTag.doStartTag", ioe.toString());
51                 }
52             }
53         }
54         return SKIP_BODY;
55     }
56
57     public int doEndTag() throws JspException JavaDoc {
58         // let's reinitialize the tag variables to allow tag object reuse in
59
// pooling.
60
fieldName = "";
61         return EVAL_PAGE;
62     }
63
64 }
65
Popular Tags