Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我迭代映射<;k、 y>;在jsp中使用c:foreach标记,然后什么也得不到?_Java_Jsp_Servlets - Fatal编程技术网

Java 我迭代映射<;k、 y>;在jsp中使用c:foreach标记,然后什么也得不到?

Java 我迭代映射<;k、 y>;在jsp中使用c:foreach标记,然后什么也得不到?,java,jsp,servlets,Java,Jsp,Servlets,我是java新手。我需要在jsp页面中迭代新闻类型。我使用来完成jsp页面中的任务。在JavaEEEclipseIDE中,我创建了一个servlet来响应jsp页面。并在java中创建一个newstype类来获取和设置newsid和newsname。然后在jsp循环newsid和newsname中,代码如下: <ul> <c:forEach var="type" items="${types}"> <li><a href="#"&

我是java新手。我需要在jsp页面中迭代新闻类型。我使用
来完成jsp页面中的任务。在JavaEEEclipseIDE中,我创建了一个servlet来响应jsp页面。并在java中创建一个newstype类来获取和设置newsid和newsname。然后在jsp循环newsid和newsname中,代码如下:

<ul>
    <c:forEach var="type" items="${types}">
        <li><a href="#"><c:out value="${type.typeName}"/></a></li>
    </c:forEach>
</ul> 
下面是servlet代码:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        newsservice ns = new newsservice();

        Map<Integer,String> types = ns.getNewsType();
        request.setAttribute("types",types);
        request.getRequestDispatcher("/jsp/index.jsp").forward(request, response);
    }
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
新闻服务ns=新新闻服务();
映射类型=ns.getNewsType();
setAttribute(“类型”,类型);
getRequestDispatcher(“/jsp/index.jsp”).forward(请求、响应);
}
但在chrome中打开jsp页面,我什么都没有得到。我担心我在连接servlet和jsp时出错,并在代码中遗漏了一些东西。请有人伸出手指。 我确定要导入标记库:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

这是快照:

无法在映射上调用表达式type.typeName(请检查映射API以获取可以调用的方法)。但是,您可以在地图上循环并获取它的键和值


看起来很像:

您应该阅读
System.out.println(types.size())尝试打印地图的大小,并确保您正在地图中获取项目或其为空@穆罕默德一年,我肯定得到了mapI,我尝试过“type.value”,但结果是一样的。确切的结果是什么?您是否可以将生成的html发送到浏览器?您是否已验证类型是否包含所有项在填充项目后立即在doGet方法中添加断点。我在问题后发布了代码。请参阅快照。我已经调试了servlet doget方法。很好。但我最终在servlet中运行可以得到很好的结果,而在Jsp页面中运行无法得到结果。所以我很困惑。也许我需要读更多关于这个的文件?