日期:2014-05-17  浏览次数:20588 次

如何用过滤器把非法的文字替换成指定的文字?
在过滤器中接收到表单提交过来的数据 String name=request.getParameter("content");
如果name的值为“菜鸟”则用“你好”替换,然后提交给servlet;
如果name的值没有“菜鸟”,则过滤器不做处理,直接交给servlet;
在过滤器中如何实现???

------解决方案--------------------
String values = "fasfsa菜鸟";
if(values.indexOf("菜鸟")!=-1){
values = values.replaceFirst("菜鸟", "你好");
System.out.println(values);
}
下面就转发
------解决方案--------------------
需要借助过滤器来重新包装 request,也就是 包装 模式。

类似于:
private HttpServletRequest req; // 构造函数中赋值
public String getParameter(String name) {
String value = req.getParameter(name);
if (value.indexOf("菜鸟")>=0) value = values.replaceAll("菜鸟", "你好");
return value;
}