⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 escapehtmlentities.java

📁 appfuse1.9.4开发的一个简单的人事管理,简单的增删改查,修正了display tag乱码问题,解压缩后cmd进入该目录ant setup 部署到tomcat即可在http://localho
💻 JAVA
字号:
/**
 * 
 */
package org.appfuse.buildtools;

import java.io.IOException;
import java.io.Reader;

import org.apache.commons.lang.StringEscapeUtils;
import org.apache.tools.ant.filters.BaseParamFilterReader;
import org.apache.tools.ant.filters.ChainableReader;

/**
 * @author Mika
 * 
 */
public class EscapeHtmlEntities extends BaseParamFilterReader implements ChainableReader {

    public static final String ESCAPE = "escape";
    public static final String UNESCAPE = "unescape";
    /** Data that must be read from, if not null. */
    private String queuedData = null;
    private String mode;
    
    public EscapeHtmlEntities() {
        super();
    }

    public EscapeHtmlEntities(final Reader rdr) {
        super(rdr);
    }
    
    /* (non-Javadoc)
     * @see java.io.FilterReader#read()
     */
    public int read() throws IOException {
        int ch = -1;

        if (queuedData != null && queuedData.length() == 0) {
            queuedData = null;
        }

        if (queuedData != null) {
            ch = queuedData.charAt(0);
            queuedData = queuedData.substring(1);
            if (queuedData.length() == 0) {
                queuedData = null;
            }
        } else {
            queuedData = readFully();
            if (queuedData == null) {
                ch = -1;
            } else {
                queuedData = handleEntities(queuedData);
                return read();
            }
        }
        return ch;
    }

    /**
     * @param queuedData2
     * @return
     */
    private String handleEntities(String queuedData2) {
        if(ESCAPE.equalsIgnoreCase(mode)){
            return StringEscapeUtils.escapeHtml(queuedData2);
        } else {
            return  StringEscapeUtils.unescapeHtml(queuedData2);
        }
    }

    /* (non-Javadoc)
     * @see org.apache.tools.ant.filters.ChainableReader#chain(java.io.Reader)
     */
    public Reader chain(Reader rdr) {
        EscapeHtmlEntities filter = new EscapeHtmlEntities(rdr);
        return filter;
    }

    /**
     * @return Returns the mode.
     */
    public String getMode() {
        return mode;
    }

    /**
     * @param mode The mode to set.
     */
    public void setMode(String mode) {
        this.mode = mode;
    }

}

⌨️ 快捷键说明

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