<c:forEach items="${ck}" var="re">
<tr>
<td><div align="center">${re.cknum} </div></td>
<td><div align="center">${re.ckname} </div></td>
<td><div align="center">修改</div></td>
<td><div align="center">删除</div></td>
<td><div align="center">详细信息</div></td>
</tr>
</c:forEach>
这是我的ck.jsp部分代码,下面是servlet部分代码request.setCharacterEncoding("gb2312");
String querystr = request.getParameter("querystr");
String type = request.getParameter("type");
ArrayList a = new CKXXB().queryCK(type, querystr);
request.setAttribute("ck", a);
request.getRequestDispatcher("/SystemSetting/ck.jsp").forward(request, response);
下面是实体类的代码
package cailiao.entity;import cailiao.DB.ExecuteDB;
import java.util.*;
import java.sql.*;public class CKXXB extends ExecuteDB{
private int id;
private String cknum;
private String ckname;
private String ckposition;
private String ckadmin;
private String cktel;
private String ckmemo;
public String getCkadmin() {
return ckadmin;
}
public void setCkadmin(String ckadmin) {
this.ckadmin = ckadmin;
}
public String getCkmemo() {
return ckmemo;
}
public void setCkmemo(String ckmemo) {
this.ckmemo = ckmemo;
}
public String getCkname() {
return ckname;
}
public void setCkname(String ckname) {
this.ckname = ckname;
}
public String getCknum() {
return cknum;
}
public void setCknum(String cknum) {
this.cknum = cknum;
}
public String getCkposition() {
return ckposition;
}
public void setCkposition(String ckposition) {
this.ckposition = ckposition;
}
public String getCktel() {
return cktel;
}
public void setCktel(String cktel) {
this.cktel = cktel;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public ArrayList queryCK(String type,String querystr){
ArrayList a = new ArrayList();
String sql;
if(type.equals("num")){
sql = "select * from CKXXB where CKNum ='" + querystr + "'";
}else{
sql = "select * from CKXXB where CKName='" + querystr + "'";
}
ResultSet rs = super.exeQuery(sql);
try {
while(rs.next()){
CKXXB c = new CKXXB();
c.setCkadmin(rs.getString("CKAdmin"));
c.setCkmemo(rs.getString("CKMemo"));
c.setCkname(rs.getString("CKName"));
c.setCknum(rs.getString("CKNum"));
c.setCkposition(rs.getString("CKPosition"));
c.setCktel(rs.getString("CKTel"));
c.setId(rs.getInt("Id"));
a.add(c);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return a;
}}
可以确定的是a 里面是有值的,可是就是在jsp里面遍历不出来,
谢谢各位了,在线等!
<tr>
<td><div align="center">${re.cknum} </div></td>
<td><div align="center">${re.ckname} </div></td>
<td><div align="center">修改</div></td>
<td><div align="center">删除</div></td>
<td><div align="center">详细信息</div></td>
</tr>
</c:forEach>
这是我的ck.jsp部分代码,下面是servlet部分代码request.setCharacterEncoding("gb2312");
String querystr = request.getParameter("querystr");
String type = request.getParameter("type");
ArrayList a = new CKXXB().queryCK(type, querystr);
request.setAttribute("ck", a);
request.getRequestDispatcher("/SystemSetting/ck.jsp").forward(request, response);
下面是实体类的代码
package cailiao.entity;import cailiao.DB.ExecuteDB;
import java.util.*;
import java.sql.*;public class CKXXB extends ExecuteDB{
private int id;
private String cknum;
private String ckname;
private String ckposition;
private String ckadmin;
private String cktel;
private String ckmemo;
public String getCkadmin() {
return ckadmin;
}
public void setCkadmin(String ckadmin) {
this.ckadmin = ckadmin;
}
public String getCkmemo() {
return ckmemo;
}
public void setCkmemo(String ckmemo) {
this.ckmemo = ckmemo;
}
public String getCkname() {
return ckname;
}
public void setCkname(String ckname) {
this.ckname = ckname;
}
public String getCknum() {
return cknum;
}
public void setCknum(String cknum) {
this.cknum = cknum;
}
public String getCkposition() {
return ckposition;
}
public void setCkposition(String ckposition) {
this.ckposition = ckposition;
}
public String getCktel() {
return cktel;
}
public void setCktel(String cktel) {
this.cktel = cktel;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public ArrayList queryCK(String type,String querystr){
ArrayList a = new ArrayList();
String sql;
if(type.equals("num")){
sql = "select * from CKXXB where CKNum ='" + querystr + "'";
}else{
sql = "select * from CKXXB where CKName='" + querystr + "'";
}
ResultSet rs = super.exeQuery(sql);
try {
while(rs.next()){
CKXXB c = new CKXXB();
c.setCkadmin(rs.getString("CKAdmin"));
c.setCkmemo(rs.getString("CKMemo"));
c.setCkname(rs.getString("CKName"));
c.setCknum(rs.getString("CKNum"));
c.setCkposition(rs.getString("CKPosition"));
c.setCktel(rs.getString("CKTel"));
c.setId(rs.getInt("Id"));
a.add(c);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return a;
}}
可以确定的是a 里面是有值的,可是就是在jsp里面遍历不出来,
谢谢各位了,在线等!
<%@ page isELIgnored ="false"%>
或者这样写:
<c:forEach items="${requestScope.ck}" var="re">
<tr>
<td> <div align="center">${re.cknum}</div> </td>
<td> <div align="center">${re.ckname}</div> </td>
</tr>
</c:forEach>
试试看,行不行?
<tr>
<td><div align="center">${re.usernum} </div></td>
<td><div align="center">${re.username} </div></td>
<td><div align="center">${re.role} </div></td>
<td><div align="center"><a href="../servlet/DeleteUser?usernum=${re.usernum}">删除</a></div></td>
</tr>
</c:forEach>
这是我别一个页的代码,这个就能遍历出来,真是服了
可能是从servlet到jsp页之间的问题吧,
今天我在jsp页上写了个测试,可是不对;还请大家帮忙啊
<%
ArrayList a = (ArrayList)request.getAttribute("ck");
CKXXB ckxxb = (CKXXB)a.get(0);
String cknum = ckxxb.getCknum();
%>
下面是错误信息!
org.apache.jasper.JasperException: Exception in JSP: /SystemSetting/ck.jsp:1411: <%
12: ArrayList a =(ArrayList)session.getAttribute("ck");
13:
14: CKXXB ckxxb = (CKXXB)a.get(0);
15: String cknum = ckxxb.getCknum();
16:
17: %>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:467)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
org.apache.jsp.SystemSetting.ck_jsp._jspService(ck_jsp.java:58)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
System.out.println(a.size());测试一下a是不是null啊
空指针异常。根据这,你的a估计就是NULL,根本没取得值!
throws ServletException, IOException { request.setCharacterEncoding("gb2312");
String querystr = request.getParameter("querystr");
String type = request.getParameter("type");
ArrayList a = new CKXXB().queryCK(type, querystr);
System.out.println("a中的数据个数" + a.size());
request.setAttribute("ck", a);
request.getRequestDispatcher("/SystemSetting/ck.jsp").forward(request, response);
}
哭了,a中有数据啊,
LogAbandoned: true
RemoveAbandoned: true
RemoveAbandonedTimeout: 60
a中的数据个数1
可是为什么不能传到jsp页中呢?
throws ServletException, IOException { request.setCharacterEncoding("gb2312");
String querystr = request.getParameter("querystr");
String type = request.getParameter("type");
ArrayList a = new CKXXB().queryCK(type, querystr);
System.out.println("a中的数据个数" + a.size());
CKXXB ckxxb = (CKXXB)a.get(0);
String i = ckxxb.getCknum();
System.out.println(i);
request.setAttribute("ck", a);
request.getRequestDispatcher("/SystemSetting/ck.jsp").forward(request, response);
}AbandonedObjectPool is used (org.apache.commons.dbcp.AbandonedObjectPool@14c92a7)
LogAbandoned: true
RemoveAbandoned: true
RemoveAbandonedTimeout: 60
a中的数据个数1
0001
楼上,我的这句request.setAttribute("ck", a);应该没什么问题啊,
现在就是在jsp页中好像接收不到a的值一样,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><body>
<form id="form1" name="form1" method="post" action="../servlet/QueryCK">
<table width="800" border="0">
<tr>
<td width="15%"><div align="right">仓库查询:</div></td>
<td width="20%">按
<select name="type" id="type">
<option value="name" selected="selected">仓库名称</option>
<option value="num">仓库编号</option>
</select> </td>
<td><label>请输入查询字段:
<input name="querystr" type="text" id="querystr" size="20" maxlength="20" />
</label></td>
<td width="20%"><input type="submit" name="Submit" value="查询" /></td>
</tr>
<tr>
<td colspan="4"><div align="center">
<table width="75%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<th width="20%">仓库编号</th>
<th width="20%">仓库名称</th>
<th width="20%">修改</th>
<th width="20%">删除</th>
<th width="20%"></th>
</tr>
<c:forEach items="${ck}" var="fe">
<tr>
<td><div align="center">${fe.usernum} </div></td>
<td><div align="center">${fe.username} </div></td>
<td><div align="center">修改</div></td>
<td><div align="center">删除</div></td>
<td><div align="center">详细信息</div></td>
</tr>
</c:forEach>
</table>
</div></td>
</tr>
<tr>
<td><div align="right">新增仓库:</div></td>
<td colspan="3"><a href="add_ck.jsp">添加</a></td>
</tr>
</table>
</form>
</body>
</html>