`
dongjun316
  • 浏览: 31943 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

显示叉叉图片 自定义标签

阅读更多
package com.toolkit.taglibs;

import java.io.Writer;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts2.components.Component;
import org.apache.struts2.views.jsp.ComponentTagSupport;
import com.opensymphony.xwork2.util.ValueStack;

/**
 * 
 * @version 1.0.0
 * @since 2010-01-19
 */
public class YesNoTag extends ComponentTagSupport {
	/**
	 * 
	 */
	private static final long serialVersionUID = -2426765442028806131L;

	public static Log log = LogFactory.getLog(YesNoTag.class);
	
	private String value;
	
	@Override
	public Component getBean(ValueStack valueStack, HttpServletRequest arg1,
			HttpServletResponse arg2) {
	    return new YesNoComponent(valueStack);
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}
	
    //获得参数   
    protected void populateParams() {   
        super.populateParams();
        YesNoComponent yesno = (YesNoComponent)component;
        yesno.setRoot(
        		((HttpServletRequest)pageContext.getRequest()).getContextPath());
        yesno.setValue(this.value);
    }
    
    /*
     * 内部类
     * */
    public class YesNoComponent extends Component  {

    	private String value;
    	
    	public YesNoComponent(ValueStack stack) {
    		super(stack);
    	}
    	public String getValue() {
    		return value;
    	}
    	public void setValue(String value) {
    		this.value = value;
    	}

    	private String root;
    	
    	public void setRoot(String root){
    		this.root = root;
    	}
    	
    	@Override
    	public boolean start(Writer writer) {
            if (value.startsWith("%{") && value.endsWith("}")) {   
            	value = value.substring(2, value.length() - 1);   
            	value = this.getStack().findValue(value).toString();
            } else {   
            	value = this.getStack().findString(value);
            }
    		try{
    			if("1".equals(value)){
    				writer.write("<img src=\""+root+"/images/Checked.gif\" />");
    			}else{
    				writer.write("<img src=\""+root+"/images/Unchecked.gif\" />");
    			}
    		}catch(Exception ex){
    			
    		}
    		return super.start(writer);
    	}
    }
    
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics