我有一个 jsp 页面,上面有文本框、文本区域和组合框。在从请求中获取过滤器中的值时,我想知道它是 textrarea 还是等等。那么有可能吗?在过滤器中我可以更改请求的值吗?
问问题
176 次
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 回答