picturedetailattributetag.java

来自「一个免费wap站」· Java 代码 · 共 79 行

JAVA
79
字号
package com.eline.wap.catalog.taglib.wml;

import java.io.File;
import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

import com.eline.wap.catalog.model.SingleItem;
import com.eline.wap.cmi.model.MobileCapability;
import com.eline.wap.common.util.AppLogger;

public class PictureDetailAttributeTag extends TagSupport {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3633932382324324517L;

	private PictureDetailTag parentTag = null;
	protected String name = null;

	public int doStartTag() throws JspException {
        // 检查是否处于ListTag中
		parentTag = (PictureDetailTag) findAncestorWithClass(this, PictureDetailTag.class);
    	if (parentTag == null)
    		throw new JspTagException("PictureDetailAttributeTag: itemsAttribute tag not inside in PictureDetailTag");
		
        // print out attribute
        try {
        	JspWriter out = pageContext.getOut();
        	out.print(createText());
        } catch(IOException e) {
            AppLogger.error("PictureDetailAttributeTag: Error printing attribute: " + e);
        }

        // there should be no body to process
        return SKIP_BODY;
	}

	/*public int doEndTag() throws JspException {
		// TODO Auto-generated method stub
		return super.doEndTag();
	}*/

	public void setName(String name) {
		this.name = name;
	}
	
	protected String createText() {
		SingleItem singleItem = (SingleItem) parentTag.getItem();

		if (name.equalsIgnoreCase("title")) {
			return singleItem.getName();
		} else if (name.equalsIgnoreCase("id")) {
			return String.valueOf(singleItem.getIndexId());
		} else if (name.equalsIgnoreCase("downloadUrl")) {
			return parentTag.getDownloadPictureURL();
		} else if (name.equalsIgnoreCase("previewUrl")) {
			return parentTag.getPreviewPictureURL();
		} else if (name.equalsIgnoreCase("attributeStr")) {
			MobileCapability capability = parentTag.getMobileCapability();
			return capability.getScreenPixelsWidth() + "x" + capability.getScreenPixelsHeight() + "/" + capability.getPreferredImageMime();
		} else if (name.equalsIgnoreCase("fileSize")) {
			try {
				String physicalPath = pageContext.getServletContext().getRealPath(parentTag.getDownloadPictureURL());
				long fileSize = new File(physicalPath).length();
				return String.valueOf(fileSize);
			} catch (Exception e) {
				return "-1";
			}
		}
		return "UNDEFINED";
	}

}

⌨️ 快捷键说明

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