javaweb
相同的代码,在同学的电脑上是可以显示的,但是在我的电脑和舍友的就不行,我用的是idea2021 我舍友是idea2017
虽是初学,还是想着看能不能自己搞定,因为不太会用idea ,但是还是找到了一点问题,个人认为应该是book这几个变量无法解析导致数据显示不出,但是要加什么代码琢磨半天也没通过,请同学们指点!
以下是图片描述和代码
这是showDataServlet
package wjj.com.servlet;
import wjj.com.pojo.pojo.OrderItem;
import wjj.com.pojo.pojo.Product;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
public class ShowDataSerlver extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HashMap<String,Object> book=new HashMap<String, Object>();
book.put("isbn","123456");
book.put("price",23.56);
book.put("press","珠江出版社");
HashMap<String,String> address = new HashMap<String, String>();
address.put("province","广东省");
address.put("city","广州市");
address.put("dinst","从化区");
book.put("addr",address);
//req.setAttribute("book",book);
req.getSession().setAttribute("book",book);
ArrayList<wjj.com.pojo.pojo.OrderItem> orderItems=new ArrayList<wjj.com.pojo.pojo.OrderItem>();
OrderItem orderItem;
Product product;
for(int i = 0; i < 4; i++){
orderItem=new OrderItem();
orderItem.setId(3000+i);
orderItem.setNum(10+i);
product=new Product();
product.setImgUrl("xh"+i+".png");
product.setName("鲜花");
product.setPrice(10*i);
orderItem.setProduct(product);
orderItems.add(orderItem);
req.getSession().setAttribute("orderItems",orderItems);
}
req.getRequestDispatcher("showData.jsp").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}
这是showData.jsp
<%@ page import="java.util.HashMap" %><%--
Created by IntelliJ IDEA.
User: wujiajie
Date: 2021/9/10
Time: 13:45
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String name="吴";
int jf=124;
boolean sex = true;
HashMap<String,String> da=new HashMap<String,String>();
da.put("id","123123131");
%>
<html>
<head>
<title>数据的封装及显示</title>
</head>
<body>
<h4>页面产生数据,用JSP脚本进行显示</h4>
姓名:<%=name%><br>
积分:<%=jf%><br>
性别:<%=sex%><br>
编号:<%=da.get("id")%><br>
<hr>
<h4>servlet产生并封装数据,用request对象进行数据传输,在页面用EL进行显示</h4>
ISBN:${book.isbn}<br>
价格:${book.price}<br>
出版社:${book.press}<br>
送货地址:${book.addr.province}${book.addr.city}${book.addr.dinst}<br>
<hr>
<h4>servlet产生并封装数据,用session对象进行数据传输,在页面用JSTL进行显示</h4>
ISBN:${book.isbn}<br>
价格:${book.price}<br>
出版社:${book.press}<br>
送货地址:${book.addr.province}${book.addr.city}${book.addr.dinst}<br>
<hr>
<h4>servlet产生并封装数据,用session对象进行数据传输,在页面用JSTL进行显示</h4>
ISBN:<c:out value="${book.isbn}" default="no data"/> <br>
价格:<c:out value="${book.price}" default="no data"/><br>
出版社:<c:out value="${book.press}" default="no data"/><br>
送货地址:<c:out value="${book.addr.province}" default="no data"/><br>
<hr>
<h4>servlet产生并封装数据,用session对象进行数据传输,在页面用JSTL进行显示</h4>
<c:forEach items="${orderItems}" var="orderItem">
<c:out value="${orderItem.id}"/>
<c:out value="${orderItem.product.imgUrl}"/>
<c:out value="${orderItem.product.name}"/>
<c:out value="${orderItem.product.price}"/>
<c:choose>
<c:when test="${orderItem.num>11}">
<c:out value="缺货"/>
</c:when>
<c:otherwise>
<c:out value="畅销"/>
</c:otherwise>
</c:choose>
<c:out value="${orderItem.num}"/><br>
</c:forEach>
<hr>
</body>
</html>
并非抄袭homework,请各位同学放心回答!