ifdownloadabletag.java

来自「java 写的一个新闻发布系统」· Java 代码 · 共 52 行

JAVA
52
字号
package org.jahia.taglibs.field.file;import org.jahia.data.JahiaData;import org.jahia.data.files.JahiaFileField;import org.jahia.exceptions.JahiaException;import org.jahia.utils.JahiaConsole;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*;/** * Class IfDownloadableTag : displays the tag body if the enclosing FileFieldTag *                           can be downloaded * * @author  Jerome Tamiotti */public class IfDownloadableTag extends BodyTagSupport {    public int doAfterBody() {		ServletRequest request = pageContext.getRequest();		BodyContent body = getBodyContent();		try {			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");			}			// retrieves the enclosing file field			FileFieldTag fileTag = (FileFieldTag) findAncestorWithClass(this, FileFieldTag.class);			if (fileTag != null) {				JahiaFileField fileField = fileTag.getFile();				if (fileField != null){    				if (fileField.isDownloadable()) {    					JspWriter out = body.getEnclosingWriter();    					out.print(body.getString());    				}    		    }			}		} catch (IOException ioe) {			JahiaConsole.println("IfDownloadableTag: doAfterBody ", ioe.toString());   		}        return SKIP_BODY;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?