outputconverter.java
来自「一个jsp网页布局框架」· Java 代码 · 共 83 行
JAVA
83 行
package com.opensymphony.module.sitemesh.util;import java.io.*;/** * A converter from one character type to another * <p> * This class is not threadsafe */public class OutputConverter{ /** * Resin versions 2.1.12 and previously have encoding problems for internationalisation. * <p> * This is fixed in Resin 2.1.13. Once 2.1.13 is used more widely, this parameter (and class) can be removed. */ public static final String WORK_AROUND_RESIN_I18N_BUG = "sitemesh.resin.i18n.workaround"; public static Writer getWriter(Writer out) { if ("true".equalsIgnoreCase(System.getProperty(WORK_AROUND_RESIN_I18N_BUG))) return new ResinWriter(out); else return out; } public static String convert(String inputString) throws IOException { if ("true".equalsIgnoreCase(System.getProperty(WORK_AROUND_RESIN_I18N_BUG))) { StringWriter sr = new StringWriter(); resinConvert(inputString, sr); return sr.getBuffer().toString(); } else return inputString; } /** * To get internationalised characters to work on Resin, some conversions need to take place. */ static class ResinWriter extends Writer { private final Writer target; private final CharArrayWriter buffer = new CharArrayWriter(); public ResinWriter(Writer target) { this.target = target; } public void close() throws IOException { flush(); } public void flush() throws IOException { resinConvert(buffer.toString(), target); buffer.reset(); } public void write(char cbuf[], int off, int len) throws IOException { buffer.write(cbuf, off, len); flush(); } } private static void resinConvert(String inputString, Writer writer) throws IOException { //does this need to be made configurable? Or are these two always correct? InputStreamReader reader = new InputStreamReader(new ByteArrayInputStream(inputString.getBytes("UTF-8")), "ISO-8859-1"); int i; while ((i = reader.read()) != -1) { writer.write(i); } writer.flush(); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?