1 package org.jahia.deprecated.taglibs.util; 2 3 import java.io.IOException ; 4 import java.util.Enumeration ; 5 6 import javax.servlet.http.HttpServletRequest ; 7 import javax.servlet.jsp.JspException ; 8 import javax.servlet.jsp.JspWriter ; 9 import javax.servlet.jsp.tagext.TagSupport ; 10 11 import org.jahia.data.JahiaData; 12 import org.jahia.exceptions.JahiaException; 13 import org.jahia.gui.GuiBean; 14 import org.jahia.services.pages.ContentPage; 15 import org.jahia.utils.JahiaConsole; 16 17 18 23 public class CurrentPagePathTag extends TagSupport { 24 25 private String separator = "/"; 26 private String style = ""; 27 private int maxchar = 0; 28 29 public void setSeparator(String aSeparator) { 30 this.separator = aSeparator; 31 } 32 33 public void setStyle(String aStyle) { 34 this.style = aStyle; 35 } 36 37 public void setMaxchar(int maxChar) { 38 this.maxchar = maxChar; 39 } 40 41 42 public int doStartTag() { 43 44 HttpServletRequest request = (HttpServletRequest )pageContext.getRequest(); 45 JahiaData jData = (JahiaData) request.getAttribute("org.jahia.data.JahiaData"); 46 try { 47 Enumeration thePath = jData.page().getContentPagePath(jData.params().getOperationMode(), jData.params().getUser()); 48 StringBuffer path = new StringBuffer (); 49 while (thePath.hasMoreElements()) { 50 ContentPage thePage = (ContentPage) thePath.nextElement(); 51 if (thePage != null) { 52 path.append("<a "); 53 if (!this.style.equals("")) { 54 path.append("class=\""); 55 path.append(this.style); 56 path.append("\" "); 57 } 58 path.append("href=\""); 59 path.append(thePage.getURL(jData.params())); 60 path.append("\">"); 61 String title = thePage.getTitle(jData.params()); 62 if (this.maxchar == 0) { 63 this.maxchar = title.length(); 64 } 65 path.append( GuiBean.glueTitle(title, this.maxchar) ); 66 path.append("</a>"); 67 if (thePath.hasMoreElements()) { 68 path.append( Utils.insertContextPath( jData.gui().drawHttpJspContext(request), this.separator ) ); 69 } 70 } 71 } 72 JspWriter out = pageContext.getOut(); 73 out.print(path.toString()); 74 75 } catch (IOException ioe) { 76 JahiaConsole.println("CurrentPagePathTag: doStartTag ", ioe.toString()); 77 } catch (JahiaException je) { 78 JahiaConsole.println("CurrentPagePathTag: doStartTag ", je.toString()); 79 } 80 return SKIP_BODY; 81 } 82 83 public int doEndTag() throws JspException { 84 separator = "/"; 87 style = ""; 88 maxchar = 0; 89 return EVAL_PAGE; 90 } 91 92 } 93 | Popular Tags |