日期:2014-05-18  浏览次数:20851 次

JSP中用过滤器Filter过滤文字如何弄?
嗯,像有的论坛一样,比如输入些不道德的文字时,系统会自动的转为*的,我想用过滤器来做,但是不知道怎么把获取过的内容又放回去的,下面是我的doFilter方法:

  public   void   doFilter(ServletRequest   request,   ServletResponse   response,
                                                  FilterChain   filterChain)   {
                try   {
                        String   content   =   request.getParameter( "content ");
                        if   (content   !=   null)   {
                                content   =   content.replaceAll( "a ",   "b ");
                        }
                        filterChain.doFilter(request,   response);
                }   catch   (ServletException   sx)   {
                        filterConfig.getServletContext().log(sx.getMessage());
                }   catch   (IOException   iox)   {
                        filterConfig.getServletContext().log(iox.getMessage());
                }
        }

请问怎么让修改过的content又放回到request里?让过滤后的那个页面里能通过request.getParameter( "content ")来获取content的值   ?
不知道我的问题讲得清不清楚,第一次在这发贴问,哈哈,好紧张!!!-_-!!!

------解决方案--------------------
把你的过滤过的内容放到request对象里面
request.setAttribute( " ", " ");
然后过滤后交给后面处理的JSP页面或者Servlet
这个request对象并没有改变


------解决方案--------------------
request.setAttribute( "content ",content);
------解决方案--------------------
在过滤器中难道是转发不重定向么

是不是改用session.serArttribute( "content ");
呢?
------解决方案--------------------
我看错了 他好像说的是怎么用request.getParameter( "content ");
而不是用request.getAttribute( "content ")去接...迷茫~> .