📄 ifnotcurrentpagetag.java
字号:
package org.jahia.taglibs.field.page;import org.jahia.data.*;import org.jahia.exceptions.JahiaException;import org.jahia.services.pages.JahiaPage;import org.jahia.utils.JahiaConsole;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*;/** * Class IfNotCurrentPageTag : evaluates the body only if the page contained in the * enclosing PageFieldTag is not the current page. * This tag is the "else" part of the "IfCurrentPage" tag. * This tag must be enclosed inside a PageField tag. * * @author Jerome Tamiotti */public class IfNotCurrentPageTag extends BodyTagSupport { public int doStartTag() { // looks for the enclosing PageField tag PageFieldTag parent = (PageFieldTag) findAncestorWithClass(this, PageFieldTag.class); if (parent == null) { return SKIP_BODY; } JahiaPage thePage = parent.getPage(); if (thePage != null) { ServletRequest request = 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"); } if (jData.page().getID() != thePage.getID()) { return EVAL_BODY_INCLUDE; } } return SKIP_BODY; } public int doAfterBody() { try { BodyContent body = getBodyContent(); if ( body != null ){ JspWriter out = body.getEnclosingWriter(); out.print(body.getString()); } } catch (IOException ioe) { JahiaConsole.println("IfNotCurrentPageTag: doAfterBody ", ioe.toString()); } return SKIP_BODY; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -