📄 currentpagepathtag.java
字号:
package org.jahia.taglibs.util;import org.jahia.data.JahiaData;import org.jahia.exceptions.JahiaException;import org.jahia.utils.JahiaConsole;import org.jahia.taglibs.util.Utils;import org.jahia.taglibs.util.constants.JahiaTagsConstants;import org.jahia.services.pages.JahiaPage;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*;/** * Class CurrentPagePathTag : returns the formated path of the current page * * @author Jerome Tamiotti */public class CurrentPagePathTag extends TagSupport { private String separator = "/"; private String style = ""; private int maxchar = 0; public void setSeparator(String separator) { this.separator = separator; } public void setStyle(String style) { this.style = style; } public void setMaxchar(int maxchar) { this.maxchar = maxchar; } public int doStartTag() { HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); JahiaData jData = (JahiaData) request.getAttribute("org.jahia.data.JahiaData"); if (jData == null) { HashMap tempEngineMap = (HashMap) request.getAttribute("org.jahia.engines.EngineHashMap"); jData = (JahiaData) tempEngineMap.get("jData"); } try { Enumeration thePath = jData.page().getPagePath(); StringBuffer path = new StringBuffer(); while (thePath.hasMoreElements()) { JahiaPage thePage = (JahiaPage) thePath.nextElement(); if (thePage != null) { path.append("<a "); if (!this.style.equals("")) { path.append("class=\""); path.append(this.style); path.append("\" "); } path.append("href=\""); path.append(thePage.getUrl()); path.append("\">"); if (this.maxchar == 0) { this.maxchar = thePage.getTitle().length(); } path.append( jData.gui().glueTitle(thePage.getTitle(), this.maxchar) ); path.append("</a>"); if (thePath.hasMoreElements()) { path.append( Utils.insertContextPath( jData.gui().drawHttpJspContext(request), this.separator ) ); } } } JspWriter out = pageContext.getOut(); out.print(path.toString()); } catch (IOException ioe) { JahiaConsole.println("CurrentPagePathTag: doStartTag ", ioe.toString()); } catch (JahiaException je) { JahiaConsole.println("CurrentPagePathTag: doStartTag ", je.toString()); } return SKIP_BODY; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -