parameterwrapper.java
来自「parameter encoding filter」· Java 代码 · 共 94 行
JAVA
94 行
package filter;
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
public class ParameterWrapper extends HttpServletRequestWrapper {
private boolean isGET;
private boolean encoding;
public ParameterWrapper(HttpServletRequest request) {
super(request);
isGET = getMethod().equals("GET");
if ( request instanceof ParameterWrapper ) {
encoding = false;
} else {
encoding = true;
}
}
public String getParameter(String name) {
String value = super.getParameter(name);
if ( !encoding ) return value;
if ( value == null ) return value;
if ( isGET ) {
try {
return new String(value.getBytes("8859_1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
}
} else {
try {
return new String(value.getBytes("8859_1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
}
}
return value;
}
public String[] getParameterValues(String name) {
String[] values = super.getParameterValues(name);
if ( !encoding ) return values;
if ( values == null ) return values;
String[] tempStrs = new String[values.length];
if ( isGET ) {
for(int i=0; i<values.length; i++) {
if ( values[i] != null ) {
try {
tempStrs[i] = new String(values[i].getBytes("8859_1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
}
} else {
tempStrs[i] = null;
}
}
} else {
for(int i=0; i<values.length; i++) {
if ( values[i] != null ) {
try {
tempStrs[i] = new String(values[i].getBytes("8859_1"), "UTF-8");
} catch (UnsupportedEncodingException e) {
}
} else {
tempStrs[i] = null;
}
}
}
return tempStrs;
}
public String getOrgParameter(String name) {
return super.getParameter(name);
}
public String[] getOrgParameterValues(String name) {
return super.getParameterValues(name);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?