临时抽调过来帮另一个项目组做特殊字符的过滤,首先想到的方案是Filter+HttpServletRequestWrapper,现成的代码都有直接迁移过来就可以。结果却是只有部分参数获取时进行了转换,而大多数并没有经过转换。
项目是Struts2 的项目,字符过滤的核心逻辑如下:
public String[] getParameterValues(String parameter) {
String[] values = super.getParameterValues(parameter);
if (values == null) {
return null;
}
int count = values.length;
String[] encodedValues = new String[count];
for (int i = 0; i < count; i++) {
encodedValues[i] = charFilter(parameter,values[i]);
}
return encodedValues;
}
public String getParameter(String parameter) {
String value = super.getParameter(parameter)