这是我们教授的练习。我有点卡住了。首先,他希望我们将公司名称和价格存储在我们将创建的 JavaBean 中——每个实例一个价格和公司。这意味着我们需要三个 bean 实例。
请看,他希望我们使用上述方法对三个公司和价格进行硬编码。
然后,他希望我们将 JavaBeans 添加到会话中的 ArrayList 并转发到 JSP 以进行显示。
这就是我现在的状态,
<jsp:useBean id="company1" class="beans.Invoice" scope="session"></jsp:useBean>
<jsp:useBean id="company2" class="beans.Invoice" scope="session"></jsp:useBean>
<jsp:useBean id="company3" class="beans.Invoice" scope="session"></jsp:useBean>
<jsp:setProperty property="companyName" name="company1" value="Telco" />
<jsp:setProperty property="price" name="company1" value="23" />
<jsp:setProperty property="companyName" name="company2" value="Telcos" />
<jsp:setProperty property="price" name="company2" value="25" />
<jsp:setProperty property="companyName" name="company3" value="Telcoi" />
<jsp:setProperty property="price" name="company3" value="27" />
在同一个jsp上,我正在这样做,
<%
ArrayList<Object> disp = new ArrayList();
disp.add(company1);
disp.add(company2);
disp.add(company3);
HttpSession sess = request.getSession();
session.setAttribute("disp", disp);
%>
然后按照他的要求在下一个 JSP 上,我正在这样做,
<%
ArrayList<String> list = (ArrayList<String>) request.getSession()
.getAttribute("disp");
for (String r : list) {
out.println(r);
}
%>
这是我得到的错误
java.lang.ClassCastException: beans.Invoice cannot be cast to java.lang.String
我可能在哪里做错了?