0

我有一个 jsp 页面,上面有文本框、文本区域和组合框。在从请求中获取过滤器中的值时,我想知道它是 textrarea 还是等等。那么有可能吗?在过滤器中我可以更改请求的值吗?

4

2 回答 2

2

过滤器是一个 servlet。您可以像在通常的 servlet 中一样从请求中获取和更改参数值。

public class CheckFilter implements Filter {

    public void init(FilterConfig filterConfig) {
    }

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
            throws IOException, ServletException {

       HttpServletRequest request = (HttpServletRequest) req;

       String contentTextarea = request.getParameter("myTextarea");

       String modifyContentTextarea = changeContent(contentTextarea);

       chain.doFilter(request, response);
    }

    private String changeContent(String content) {
          //to do smth with value of content
          return modifyContent;
    }

    public void destroy() {
    }
}

并像这样在 JSP 中标记您的文本区域:

<textarea name="myTextarea"></textarea>
于 2012-05-21T06:39:00.670 回答
0

无法确定您是否使用 textarea/radio/checkbox 填充参数,因为请求仅包含参数名称和值的键/值对,您应该知道用于生成参数的表单字段你已经在服务器上期待了,我认为不需要这个。如果您出于某种原因确实需要此功能,则需要在请求中附加另一个参数,其中包含有关用于设置参数的表单字段的信息,但这很快就会变得非常混乱。

对于第二部分,是的,您可以修改 servlet 或过滤器内的请求中的任何值。

于 2012-05-21T06:46:47.477 回答