📄 abstractrollovertag.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 AbstracRolloverTag : defines common code for different rollovers tags * * @author Jerome Tamiotti */public abstract class AbstractRolloverTag extends AbstractButtonTag { // counter to handle multiple tag occurrences private Integer counter; // the short class name of the tag private String className = null; // use a counter to identify images in the HTML page // in case of several tags public void checkCounter(HttpServletRequest request) { // init class name this.className = Utils.getShortClassName(this.getClass()); // increments the counter or initialize it String counterName = this.className + "_counter"; this.counter = (Integer)request.getAttribute(counterName); if (this.counter == null) { this.counter = new Integer(1); } else { this.counter = new Integer(this.counter.intValue() + 1); } request.setAttribute(counterName, this.counter); } // build the string drawing the rollover button public String buildButton (JahiaData jData, HttpServletRequest request) { // get data in subclasses String imgDir = getImgDir(); String width = getWidth(); String height = getHeight(); String align = getAlign(); String imgName = this.className + "Img_"; String context = jData.gui().drawHttpJspContext(request); String outImage = null; String overImage = null; String launcher = null; try { outImage = getMouseOutImage(jData); overImage = getMouseOverImage(jData); launcher = getLauncher(jData); } catch (JahiaException jex) { JahiaConsole.println("AbstractRolloverTag: buildButton ", "Can not get launcher from subclass !"); return null; } StringBuffer text = new StringBuffer( "<a href=\"" ); text.append( launcher ); text.append( "\" onMouseOut=\"document." ); text.append( imgName ); text.append( this.counter ); text.append( ".src='" ); text.append( context ); text.append( "/" ); text.append( imgDir ); text.append( "/" ); text.append( outImage ); text.append( "';\" onMouseOver=\"document." ); text.append( imgName ); text.append( this.counter ); text.append( ".src='" ); text.append( context ); text.append( "/" ); text.append( imgDir ); text.append( "/" ); text.append( overImage ); text.append( "';\"><img name=\"" ); text.append( imgName ); text.append( this.counter.intValue() ); text.append( "\" src=\"" ); text.append( context ); text.append( "/" ); text.append( imgDir ); text.append( "/" ); text.append( outImage ); text.append( "\"" ); if ( !width.equals("" ) ) { text.append( " width=\"" ); text.append( width ); text.append( "\"" ); } if ( !height.equals("") ) { text.append( " height=\"" ); text.append( height ); text.append( "\"" ); } if ( !align.equals("") ) { text.append( " align=\"" ); text.append( align ); text.append( "\"" ); } text.append( " border=\"0\" alt=\"\">" ); text.append( getTitle() ); text.append( "</a>" ); return text.toString(); } public String getTitle() { return ""; } public String getStyle() { return ""; } public String getAlign(){ return ""; }; // The following methods will be implemented in the concrete rollover tags public abstract String getMouseOverImage(JahiaData jData) throws JahiaException; public abstract String getMouseOutImage(JahiaData jData) throws JahiaException; public abstract String getImgDir(); public abstract String getWidth(); public abstract String getHeight(); }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -