我尝试在将请求传递给Servlet之前通过doFilter
向请求添加一个属性,以便设置JSTL中的值。我只是在过滤器中执行req.setAttribute("b", "blah")
,但它似乎没有在JSTL文件中设置。我该怎么做?
答案 0 :(得分:0)
如果没有看到代码,很难确定根本原因。有几种可能的原因。
顺便说一下,没有“JSTL文件”这样的东西。也许你的意思是“JSP文件”。
答案 1 :(得分:-2)
问题是doFilter
方法使用ServletRequest
而不是HttpServletRequest
,这是setAttribute
方法的方法。我的大部分过滤器都是这样的:
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
// do what you must...
chain.doFilter(servletRequest, servletResponse);
}