当前位置: 代码迷 >> Java Web开发 >> JSP页面读取不已javabean中的数据
  详细解决方案

JSP页面读取不已javabean中的数据

热度:77   发布时间:2016-04-16 22:13:30.0
JSP页面读取不了javabean中的数据?
public class Products {
public Vector items=new Vector();

public Vector getItems() {
return items;
}
public Item getItems(String itemId){


int index=Integer.parseInt(itemId);
return (Item)items.elementAt(index);


}
public void setItems(Item item,String itemId) {
int index=Integer.parseInt(itemId);
items.set(index, item);
}

public Products(){
items.addElement(new Item("0",(float)59,"jsp应用开发详解",true,"电子工业出版社"));
items.addElement(new Item("1",(float)45,"java web服务开发",true,"电子工业出版社"));
items.addElement(new Item("2",(float)99,"java编程思想",true,"机械工业出版社"));
items.addElement(new Item("3",(float)10,"jsp编程指南",true,"电子工业出版社"));
items.addElement(new Item("4",(float)68,"J2EE应用开发详解",true,"电子工业出版社"));
items.addElement(new Item("5",(float)56,"J2EE企业级应用开发",true,"电子工业出版社"));
items.addElement(new Item("6",(float)56,"J2EE参考手册",true,"电子工业出版社"));
items.addElement(new Item("7",(float)55,"J2EE Web服务开发",true,"电子工业出版社"));
}
public int getSize(){
return items.size();
}
public void clear(){
items.clear();
}
}

<%@ page language="java" import="java.util.*,com.test.java.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<jsp:useBean id="products" class="com.test.java.Products" scope="page"/>
<jsp:setProperty name="products" property="*"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'shopping.jsp' starting page</title>
    
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

  </head>
  
  <body>
   <form action="shop/cart.jsp" method="post">
   <table width="75%" border=1 bordercolor="#006633">
   <tr bgcolor="#999999"><td>id</td><td>名称</td><td>价格</td><td>是否有货</td>
   <td>出版社</td></tr>
   <%
    Vector v=products.getItems();
   Enumeration e=v.elements();
   while(e.hasMoreElements()){
    Item item=(Item)e.nextElement();
  
   
   %>
   <tr>
   <td>
   <input type="checkbox" name="itemId" value="<%=item.getItemId()%>">
   </td>
   <td><%=item.getDescription()%></td>
   <td><%=item.getPrice() %></td>
   <td><%=item.isAvailable() %></td>
   <td><%=item.getProducer() %></td>
   </tr>
   <%}%>
   <tr><td colspan=5><input type="submit" value="add" name="action"></td></tr>
   <tr><td colspan=5><a href="shop/cart.jsp">购物车</a>[]<a href="shop/logout.jsp">注销</a></td></tr>
    </table>
   </form>
  </body>
</html>
   

我第一次试的时候数据全部都是写的JSP应用开发详解,后来改成代码上写的数据,但是再次加载的时候显示的还是JSP应用开发详解,添加或删除都没反应。求解?
------解决方案--------------------
引用:
你items.addElement写在构造函数里 需要new一下才能调用到吧...
Products product=new Products();
.....

这个问题你可以试一试,然后你在重新部署一下,就没有问题了
你应该加上Products pro=new Products();
或者将你添加物品的代码写在静态代码块里面:

static{
     items.addElement(new Item("0",(float)59,"jsp应用开发详解",true,"电子工业出版社"));
        items.addElement(new Item("1",(float)45,"java web服务开发",true,"电子工业出版社"));
        items.addElement(new Item("2",(float)99,"java编程思想",true,"机械工业出版社"));
        items.addElement(new Item("3",(float)10,"jsp编程指南",true,"电子工业出版社"));
        items.addElement(new Item("4",(float)68,"J2EE应用开发详解",true,"电子工业出版社"));
        items.addElement(new Item("5",(float)56,"J2EE企业级应用开发",true,"电子工业出版社"));
  相关解决方案