<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ page language="java" import="java.util.*,common.*"%>
<%@ page contentType="text/html;charset=ISO8859_1" %>
<jsp:useBean
id="schCrsBean" scope="session" class="common.SchCourseBean"/>
<%
Vector crsHr=schCrsBean.getVSchCrsHr();
Vector crsLst=(Vector)session.getAttribute("crsList");
%>
*****************************(续)
以上是结果页面schCrs_add3,其中crsLst.size()和crsHr里的信息在页面里显示正常.

解决方案 »

  1.   

    你确定在session.setAttribute("schCrsBean",schCrsBean)之前 schCsrBean是有效值?
      

  2.   

    schCrsBean的值是从crsLst中取出的,crsLst里应该不为空;页面显示为空,最大的可能是schCrsBean没有正确赋值;问题在于我不能确定那两个for语句的写法会不会有什么问题,或者问题在哪里。
      

  3.   

    我觉得问题应该出在没有把正确的值传进去,在session.setAttribute("schCrsBean",schCrsBean)之前 打印出来看看,是不是正确的
      

  4.   

    如果要把一个对象传给jsp,那么你的这个对象应该实现Serializable接口
    申明为
    public class UserSession implements Serializable {
    }
      

  5.   

    谢谢各位关心!
    按totyulvxl(sun) 的建议试了一下,结果页面里的SchCrsNum属性全为-1(初始值);
    就是说下面这一段根本没起作用:
    for (int i=0;i<crsPicked.length;i++ ){ //把crsList中被选中课程的SchCrsNum属性设为0 
    for (int j=0;j<n ;j++ )    {            
    if (  ((SchCourseBean)crsLst.get(j)).getCrsNo()==crsPicked[i] ){//***
    ((SchCourseBean)crsLst.get(j)).setSchCrsNum(0);       //*******这里没有一条实现
    }
    }
    }
    我的意图是这样:
    请求页面是课程列表(Vector型的对象crsList),每条信息前有个checkbox,它们的name属性都是"crsPicked";在servlet中想对照"crsPicked",把crsList中被选中课程的schCrsNum属性设为0;
    请求页面是这样的:
    <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN"><%@ page language="java" import="java.util.*,common.*"%>
    <%@ page contentType="text/html;charset=ISO8859_1" %>
    <jsp:useBean
    id="schCrsBean" scope="session" class="common.SchCourseBean"/>
    <%
    Vector crsList=(Vector)session.getAttribute("crsList");
    String schNo=(String)session.getAttribute("schNo");
    String crsKind=(String)request.getParameter("crsKind");
    String crsType=(String)request.getParameter("crsType");
    %>
    <html>
    <head>
    <title> 计划课程添加:Step2 </title>
    <meta name="Generator" content="EditPlus">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    </head><body>
    <form method=post action="do.schCrsCntrl?action=add3">
      <table width="92%" border="1" align="center">
        <tr bgcolor="#FFCCCC"> 
          <td colspan="6"><div align="center">您的筛选结果</div></td>
        </tr>
        <tr bgcolor="#FFCCCC"> 
          <td colspan="6"><div align="right"><b>
              <input type="submit" name="Submit" value="提交">
              </b></div></td>
        </tr>
        <tr bgcolor="#FFCCCC"> 
          <td colspan="6"><div align="left"><font color="#0000FF"><strong>课程种类:<%=crsKind%></strong><b>:课程类型:<%=crsType%></b></font></div></td>
        </tr>
        <tr bgcolor="#FFCCCC"> 
          <td width="9%"> <div align="center"><font color="#0000FF"><b>选择</b></font></div></td>
          <td width="22%"> <div align="center"><font color="#0000FF"><b>课程名(中)</b></font></div></td>
          <td width="29%"> <div align="center"><font color="#0000FF"><b>课程名(英)</b></font></div></td>
          <td width="9%"> <div align="center"><font color="#0000FF"><b>学分</b></font></div></td>
          <td width="17%"> <div align="center"><font color="#0000FF"><b>开课部门</b></font></div></td>
          <td width="14%"> <div align="center"><font color="#0000FF"><b>备注</b></font></div></td>
        </tr>
        <%

    if(crsList.size()!=0)    {   
    int num=crsList.size();
    out.println(num);
    out.println(schNo);
            for (int i = 0 ; i < num ; i++ )        {
    schCrsBean=(SchCourseBean)crsList.get(i);  
    %>
        <tr> 
          <td><input type="checkbox"  name="crsPicked" value="<%=schCrsBean.getCrsNo()%>" checked="true" ></td>
          <td><%=schCrsBean.getCrsCnNm()%></td>
          <td><%=schCrsBean.getCrsEnNm()%></td>
          <td><%=schCrsBean.getCrsCrdt()%></td>
          <td><%=schCrsBean.getCrsMstr()%></td>
          <td><%=schCrsBean.getSchCrsNum()%><%=schCrsBean.getCrsNo()%></td>
        </tr>
        <%             
            }
    }
    else {
    out.println("error");
            
    %>
        <!--if((SchCourseBean)crsList.get(i)!=null); -->
        <% }
    %>
      </table>
    </form></body>
    </html>
    现请问原先没有实现的for语句要怎么改,挑出checkbox里被选中的课程?
      

  6.   

    谢谢gks_cn(981530):
    “如果要把一个对象传给jsp,那么你的这个对象应该实现Serializable接口
    申明为public class UserSession implements Serializable {  }”
    为什么要实现这个接口?有点不解。我以前也写了一个类,实例化(bean)以后传给jsp,可以显示啊!gks_cn还请多多开导开导!