📄 abstractbuttontag.java
字号:
package org.jahia.taglibs.button;import org.jahia.data.JahiaData;import org.jahia.exceptions.JahiaException;import org.jahia.services.usermanager.JahiaUser;import org.jahia.taglibs.util.Utils;import org.jahia.utils.JahiaConsole;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*;/** * Class AbstractButtonTag : defines common code for different buttons * * @author Jerome Tamiotti */public abstract class AbstractButtonTag extends TagSupport { 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"); } // only used in rollover tags checkCounter(request); // makes a test on rights if (!testRights(jData)) { return SKIP_BODY; } String link = buildButton(jData, request); if (link != null) { try { JspWriter out = pageContext.getOut(); out.print( link ); } catch (IOException ioe) { JahiaConsole.println("AbstractButtonTag: doStartTag ", ioe.toString()); } } return SKIP_BODY; } public void checkCounter(HttpServletRequest request) { // does not perform anything, defined only for rollover tags return; } public String buildButton (JahiaData jData, HttpServletRequest request) { String url = null; try { url = getLauncher(jData); } catch (JahiaException jex) { JahiaConsole.println("AbstractButtonTag: buildButton ", "Can not get launcher from subclass !"); return null; } if ( url == null || url.trim().equals("") ) return url; StringBuffer text = new StringBuffer( "<a " ); String style = getStyle(); if ( !style.equals("") ) { text.append( "class=\"" ); text.append( style ); text.append( "\" " ); } text.append( "href=\"" ); text.append( url ); text.append( "\">" ); text.append( Utils.insertContextPath( jData.gui().drawHttpJspContext(request), getTitle() ) ); text.append( "</a>" ); return text.toString(); } // The following methods will be implemented in the real tags public abstract boolean testRights(JahiaData jData); public abstract String getLauncher(JahiaData jData) throws JahiaException; public abstract String getTitle(); public abstract String getStyle();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -