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
如何从servlet读取HashMap值并在jsp中显示_Jsp_Servlets_Jstl - Fatal编程技术网

如何从servlet读取HashMap值并在jsp中显示

如何从servlet读取HashMap值并在jsp中显示,jsp,servlets,jstl,Jsp,Servlets,Jstl,Shooping Servlet 购物套餐 import java.io.IOException; import java.util.*; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import java

Shooping Servlet

购物套餐

import java.io.IOException;
import java.util.*;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class ShoppingServlet
 */
@WebServlet("/ShoppingServlet")
public class ShoppingServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        final Map<Integer,String> products= new HashMap<Integer,String>();
        products.put(1, "Motorola MotoX");
        products.put(2, "Google Pixel2");
        products.put(3, "Essential");
        products.put(4, "Iphone 6");
        request.setAttribute("product", products);
    }

}
import java.io.IOException;
导入java.util.*;
导入javax.servlet.ServletException;
导入javax.servlet.annotation.WebServlet;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
/**
*Servlet实现类ShoppingServlet
*/
@WebServlet(“/ShoppingServlet”)
公共类ShoppingServlet扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
最终映射产品=新HashMap();
产品。put(1,“摩托罗拉MotoX”);
products.put(2,“谷歌像素2”);
产品。放置(3,“基本”);
产品。put(4,“Iphone 6”);
request.setAttribute(“产品”,产品);
}
}
Browse.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Click on the products to add to the Cart.
<br/>
<c:forEach items="${product}" var="pro">
    ${pro.value};
    <br/>
</c:forEach>
</body>
</html>

在此处插入标题
单击要添加到购物车的产品。

${pro.value};
问题是它没有在jsp中显示映射值。它只是在展示
单击要添加到购物车中的产品但缺少值。

您可以使用scriptlet在jsp页面上显示它

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Click on the products to add to the Cart.
<br/> <% for(String key: product.getKeys()){            out.println(product.get(key)+"<br/>");  } %>
</body>
</html>

在此处插入标题
单击要添加到购物车的产品。


请跟上。自2003年以来,官方一直不鼓励使用Scriptlet。那是15年前的事了!另请参见请不要使用[java]标记,只要使用普通java应用程序类和main()方法无法证明问题。