我想达到的效果是message.jsp有个表单输入相应的查询条件,提交到check.jsp处理并以表格形式显示,输出的每一行后有个删除的超链接,点击后该行的内容可以删除,并在数据库里删除对应的信息。message.jsp——表单信息如下:  <form action="check.jsp" method="post" name="f" onsubmit="return check()">
                <b>查询所有商品信息:</b><input type="submit" name="all" value="查询"/>
                <b>按商品名称查询:</b><input  type="text" name="checkName" />
                              <input type="submit" name="goods" value="查询"/><br>
                <b>按商品类别查询:</b><select name="checkType">
                                <option value="饮品">饮品</option>
                                <option value="日用品">日用品</option>
                                <option value="食品">食品</option>
                              </select>
                              <input type="submit" name="type" value="查询"/><br>
                <b>按商品的单价查询:</b>
                    <p>大于<input type="text" name="checkMoneyB" />元</b><input type="submit" name="big" value="查询"/><br>
                      小于<input type="text" name="checkMoneyS" />元<input type="submit" name="small" value="查询"/><br>
    </form>
java代码这样的package superet;import java.sql.*;
import java.util.*;
public class message { private String checkName,checkType,checkMoneyB,checkMoneyS;//按商品的名字、类别、单价大于、单价小于,所有查看(获取从表单提交的信息)
    private String selectName="select * from Goods where gName='"+checkName+"';",//按名字查
                    selectType="select * from Goods where kind='"+checkType+"';",//按类型查
                    selectMoneyB="select * from Goods where unitCost>'"+checkType+"';",//单价大于某值
                    selectMoneyS="select * from Goods where unitCost<'"+checkMoneyS+"';";//单价小于某值
   
private boolean flag;



private String goodsID,supplierID,gName,barCode,metricUnit,kind,birthPlace;//表的相应信息
private double unitCost;


public message() {

}

public Vector<message> checkMessage(String sql)//返回查询结果的方法
{
Vector<message> m=new Vector<message>();

try {

     login check=new login();//此类里面有连接数据库和查询方法

         ResultSet rs=check.executeQuery(sql);
         
         if(!rs.next())
         {
          flag=false;
         }
         
         else
         {
          flag=true;
          
          
          while (rs.next())
     {
          message cm=new message();
          
           setGoodsID(rs.getString(1));
           setSupplierID(rs.getString(2));
           setGName(rs.getString(3));
           setBarCode(rs.getString(4));
           setMetricUnit(rs.getString(5));
           setKind(rs.getString(6));
           setBirthPlace(rs.getString(7));
           setUnitCost(rs.getDouble(8));
  
     m.add(cm);
     }
         }
   
    
       }catch (SQLException e) {

    e.printStackTrace();
       
     }

return m;
}


  public Vector<message> check_name()//按商品名字查
  {
  return checkMessage(selectName);
  }
  
  public Vector<message> check_type()//按商品类别查
  {
  return checkMessage(selectType);
  }
  
  public Vector<message> check_moneyB()//按商品单价大于
  {
  return checkMessage(selectMoneyB);
  }
  
  public Vector<message> check_moneyS()//按商品单价小于
  {
  return checkMessage(selectMoneyS);
  }
   public boolean isFlag() {
return flag;
} public String getBarCode() {
return barCode;
} public void setBarCode(String barCode) {
this.barCode = barCode;
} public String getBirthPlace() {
return birthPlace;
} public void setBirthPlace(String birthPlace) {
this.birthPlace = birthPlace;
} public String getGName() {
return gName;
} public void setGName(String name) {
gName = name;
} public String getGoodsID() {
return goodsID;
} public void setGoodsID(String goodsID) {
this.goodsID = goodsID;
} public String getKind() {
return kind;
} public void setKind(String kind) {
this.kind = kind;
} public String getMetricUnit() {
return metricUnit;
} public void setMetricUnit(String metricUnit) {
this.metricUnit = metricUnit;
} public String getSupplierID() {
return supplierID;
} public void setSupplierID(String supplierID) {
this.supplierID = supplierID;
} public double getUnitCost() {
return unitCost;
} public void setUnitCost(double unitCost) {
this.unitCost = unitCost;
} public String getCheckMoneyB() {
return checkMoneyB;
} public void setCheckMoneyB(String checkMoneyB) {
this.checkMoneyB = checkMoneyB;
} public String getCheckMoneyS() {
return checkMoneyS;
} public void setCheckMoneyS(String checkMoneyS) {
this.checkMoneyS = checkMoneyS;
} public String getCheckName() {
return checkName;
} public void setCheckName(String checkName) {
this.checkName = checkName;
} public String getCheckType() {
return checkType;
} public void setCheckType(String checkType) {
this.checkType = checkType;
}





}
这个是check.jsp——用以处理的界面:
<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<%request.setCharacterEncoding("gb2312"); %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><%@page import="java.util.Vector"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>check.jsp</title>
<jsp:useBean id="check" scope="page" class="superet.message">
<jsp:setProperty name="check" property="*"/>
</jsp:useBean>
</head>
<body>
<%--处理商品查询条件的页面 --%>
<%
 if(check.isFlag())
 {
 if(check.getCheckName()!=null)
 {
 Vector m=check.check_name();
 int length=m.size();
 
 %>
<table width="634" border="0">
  <tr>
   
    <td>商品编号</td>
    <td>供货商号;</td>
    <td>名称</td>
    <td>条形码</td>
    <td>计量单位</td>
    <td>类别</td>
    <td>产地</td>
    <td>单价</td>
  </tr>
  
 <%
    for(int i=0;i<length;i++)
    {
     //这里不会获得存在Vector里面的值,并以表格输出
    }
  }
 %>
</table>
<%   }
%>
<a href="message.jsp">返回信息管理主页面</a>
<a href="stock.jsp">查看商品库存</a>
</body>
</html>

解决方案 »

  1.   

    <%
      for(int i=0;i<length;i++)
      {
      //这里不会获得存在Vector里面的值,并以表格输出
      }
      }
     %>这里写倒是不很难,就是有点麻烦,建议楼主去看一下jstl标签和EL表达式,应该很容易解决遍历vector的问题
      

  2.   

    我又想了一个方法,就是放到ArrayList里面,可是还是没有显示吖!!!
    方法没有报错,就是没有达到想要的效果~~
      

  3.   

    后台,javabean中,session.setAttribute("参数名",“你数据的list”);
    然后jsp中就,session.getAttribute("参数名"),然后循环。。拼接table标签显示。
      

  4.   

    可是javabean中间没有session吧,那个是JSP的内置对象吧!!!
      

  5.   

    其实怎么告诉你如何改都没多大用,主要是懂得怎么自己调试检错,建议你用System.out.println()来进行检查吧!
      

  6.   

    <%List list = (List)request.getAttribute("list"); 
    System.out.println(list);
    FF f=null;
    for(int i=0;i<list.size();i++)
    {
    f=(FF)list.get(i);
    %>
    <tr>
    <td><%=f.getEnname()%></td>
    </tr>
     <%}%>
      

  7.   

       <%
               for(int i=0;i<length;i++)
              {
               message m=(message)listType.get(i);
        
           %>
            <tr>
      
               <td><%=m.getGoodsID() %></td>
               <td><%=m.getSupplierID() %></td>
               <td><%=m.getGName() %></td>
               <td><%=m.getBarCode() %></td>
               <td><%=m.getMetricUnit() %></td>
               <td><%=m.getKind() %></td>
               <td><%=m.getBirthPlace() %></td>
               <td><%=m.getUnitCost() %></td>
               <td>
                     <a href='delgoods.jsp'?goodsID=<%=m.getGoodsID() %>>删除</a>
                     <a href='modify.jsp'?goodsID=<%=m.getGoodsID() %>>修改</a> </td>
                    <%System.out.print(m.getGoodsID()); %>
                            
      
            </tr>
            <%
      
             }
          }
         %>
      

  8.   

    这个你只要在页面上动态的评表格就行了。主要依据是iterator。每迭代一次,把每一条记录包括其对应的delete按钮生成就行了。而每个delete按钮关联一个id。按了去调用delete方法。