java - 填充 Filter 类中的 JSP 下拉列表

标签 java jsp servlets jpa

我想在 JSP 的下拉列表中填充数据库中的值。 问题是,我没有从任何 servlet 向此 JSP 转发请求。我直接从 URL 打开此 JSP。

http://mywebsite/thisJsp.jsp

现在我不想在 JSP 中使用任何 Java 代码,我正在使用 EclipseLink JPA。我所做的是创建一个过滤器类。

public class MyFilter implements Filter{

    private FilterConfig filterConfig = null;

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        this.filterConfig = filterConfig;
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpRequest = (HttpServletRequest) request;
        HttpServletResponse httpResponse = (HttpServletResponse) response;

        String servletPath = httpRequest.getServletPath();
        if(servletPath != null & servletPath.endsWith("thisJsp.jsp")) {
            CatalogDB cdb = new CatalogDB();
            List<Catalog> catalogs = cdb.getCatalogs();
            request.setAttribute("catalogs", catalogs);
        }
        chain.doFilter(request, response);
    }

    @Override
    public void destroy() {

    }

}

现在我在 web.xml 中配置了这个过滤器

<filter>
        <filter-name>myFilter</filter-name>
        <filter-class>MyFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>myFilter</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
        <dispatcher>FORWARD</dispatcher>
    </filter-mapping>

问题是流进入过滤器并从数据库获取值。它甚至将其设置在请求对象中。但在 JSP 上我收到一个错误,指出无法找到“目录”。

最佳答案

非常抱歉,JSP 中出现了小错误。 我正在使用

<c:forEach var="catalog" items="catalogs" >

而不是

<c:forEach var="catalog" items="${catalogs}" >

关于java - 填充 Filter 类中的 JSP 下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26931157/

相关文章:

java - 阅读 Core Java 第 11 版时关于 **类型删除机制** 的问题

java - 如何将 ArrayList 从 Java 类传递给 jsp

javascript - 如何将参数从 JSP 传递到 Struts 2 操作

java - 如何在JSP中将String转换为double

javascript - 将值从 Servlet 传递到 JSP 中的 onload JavaScript 函数

java - 找不到从 HttpRequest : 获取参数值的正确方法

java - 从 android 服务器加载 gridView 中的图像

java - Head、Option、Trace http 方法与 Servlet 的使用和实现

java 重定向 301 但浏览器无法正确打开新的 url

java - 更新两个并发的 hashmaps 保持自动性