java.lang.ClassCastException
org.apache.jsp.member.addelective_jsp._jspService(addelective_jsp.java:276)
下面就是org.apache.jsp.member.addelective_jsp._jspServiceif (_jspx_eval_logic_iterate_0 != javax.servlet.jsp.tagext.Tag.EVAL_BODY_INCLUDE) {
                  out = _jspx_page_context.pushBody();
                  _jspx_th_logic_iterate_0.setBodyContent((javax.servlet.jsp.tagext.BodyContent) out);
                  _jspx_th_logic_iterate_0.doInitBody();
                }
 这是276行              result = (com.edu.elective.form.ElectiveForm) _jspx_page_context.findAttribute("result");
                index = (java.lang.Integer) _jspx_page_context.findAttribute("index");
                do {
                  out.write("\r\n");
                  out.write("\t\t  <tr  height=18>\r\n");

解决方案 »

  1.   

    这个是个ClassCastException,也就是类强制转型的异常,_jspx_page_context.findAttribute("result");返回的对象不是com.edu.elective.form.ElectiveForm。你可以在jsp中用System.out打印一下result是什么对象。
      

  2.   

    标准的强制类型转化错误。建议贴出你的action,from和jsp文件。
      

  3.   

    action文件package com.edu.elective.action;import java.io.IOException;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;import com.edu.common.LoginConstants;
    import com.edu.common.UserSessionManager;
    import com.edu.common.WebConstant;
    import com.edu.dao.hibernate.EduHibernateException;
    import com.edu.merchant.model.Merchants;
    import com.edu.struts.action.BaseAction;
    import com.edu.elective.form.ElectiveForm;
    import com.edu.elective.impl.ElectiveManagerFactory;
    import com.edu.vo.PageListVO;
    import com.edu.vo.QueryVO;public class QueryElectiveAction extends BaseAction {
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    ElectiveForm pForm = (ElectiveForm) form;
    String returnStr = WebConstant.FORWARD_INITPAGE;
    String userSession = null;

    try {
    PageListVO rvo=null;
    Map map = new HashMap(request.getParameterMap());
    HttpSession session = request.getSession();
    userSession = UserSessionManager.checkUserSession(request);
    if(null == userSession){
    return new ActionForward("/loginfail.jsp");
    }
    if (null != userSession && session.getAttribute("isNumber").equals("2")){
    Merchants m = (Merchants) session.getAttribute(LoginConstants.GLOBLE_LOGINVO);
    map.put("Merchants",m);
    }
    QueryVO qvo=new QueryVO();
    qvo.setScatterMap(map);
    qvo.setPageSize(WebConstant.PAGENUMBER); qvo.setCurPage(pForm.getPageNum());
    rvo=(PageListVO)ElectiveManagerFactory.getElectiveManager().findAllElective1(qvo);
    ArrayList ListResult = (ArrayList) rvo.getretVO();
                setQueryResult(rvo, pForm); 
                request.setAttribute(WebConstant.RETURN_LIST, ListResult);
    } catch (EduHibernateException e) {
    e.printStackTrace();
    return mapping.findForward(WebConstant.FORWARD_FAIL);
    }
    request.setAttribute(WebConstant.PAGE_Object, pForm);
    return mapping.findForward(returnStr);
    }

    }
      

  4.   

    form文件package com.edu.elective.form;import com.edu.struts.form.BaseForm;public class ElectiveForm extends BaseForm {
        private String id;
        private String coursetype;
        private String coursename;
        private String videoid;
        private String realname;   public ElectiveForm() {
       }   public ElectiveForm(String id, String coursename, String coursetype, String videoid, String realname) {
           this.id = id;
           this.coursetype = coursetype;
           this.coursename = coursename;
           this.videoid =  videoid;
           this.realname = realname;
       }public String getCoursename() {
    return coursename;
    }public void setCoursename(String coursename) {
    this.coursename = coursename;
    }public String getCoursetype() {
    return coursetype;
    }public void setCoursetype(String coursetype) {
    this.coursetype = coursetype;
    }public String getId() {
    return id;
    }public void setId(String id) {
    this.id = id;
    }public String getVideoid() {
    return videoid;
    }public void setVideoid(String videoid) {
    this.videoid = videoid;
    }public String getRealname() {
    return realname;
    }public void setRealname(String realname) {
    this.realname = realname;
    }

    }
      

  5.   

    addelective.jsp文件<%@ page contentType="text/html; charset=gb2312" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-edu.tld" prefix="edu"%>
    <%@include file="/admin/checksession.jsp"%>
    <html>
    <head>
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
    <script src="js/common.js" language=javascript></script>
    <script src="js/Calendar.js" language=javascript></script>
    <script src="js/popwin.js" language=javascript></script>
    <script src="js/checkForm.js" language=javascript></script>
    <script language="javascript">
    function Page(pageNum){
    if(checkNum(pageNum)==0) {
        alert("要跳转的页数必须是大于0的数字!");
        return;
    }

    var page_objForm=document.forms[0];
    page_objForm.pageNum.value= pageNum;
            page_objForm.action="<%=request.getContextPath()%>/addelective.do";
            page_objForm.target="";
    page_objForm.submit();
    }function views(threm,id) {
    var url = "<%=request.getContextPath()%>/member/viewuselogin.do?id="+id;
    window.open(url);
    }function douser(id) {
     var theForm=document.forms[0];
     var count=0;
     for (var k = 0; k < theForm.length; k++)
     if ((theForm[k].type == "checkbox") && (theForm[k].checked))
    count++;
     if (count==0) {
    alert("请选择你要选学的课程!");
    return false;
     } else {
     if(window.confirm("确定要这样做了吗?"))  {
    theForm.action="<%=request.getContextPath()%>/addelective.do?realname="+realname;
    theForm.submit();
     }
     else
    return false;
     }
    }function getOperationForm(){
    var tmpform=document.all("pageObject");
    var tmpErrMsg="";
    if(tmpform==null){
    tmpErrMsg="没有查询记录!";
    alert(tmpErrMsg);
    }
    return tmpform;
    }function selectAll(){
    var tmpform=getOperationForm();
    if(tmpform==null){
    return ;
    }
    var tmpEles=tmpform.all("checkbox");
    if(tmpEles.length==null){
    tmpEles.checked=true;
    return ;
    }

    for(var tmpi=0;tmpi<tmpEles.length;tmpi++){
    tmpEles(tmpi).checked=true;
    }

    }
    function customSubmit(pInput,pURL)
    {
    var theForm=document.forms[0];
    theForm.pageNum.value=1;
    theForm.submit();
    }
    </script><title>学员信息查看</title>
    <link href="css/YES.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <html:form name="pageObject" action="/addelective" type="com.edu.elective.form.ElectiveForm"  scope="request">
    <input type="hidden" name="isuser" value="1">
    <table width="90%"  border="1" align="center" cellpadding="0" bordercolor="#9C9AFF" bgcolor="#DEDFFF">
      <tr height=18 bgcolor="">
       <td height="18" colspan="2" align=center>选课</td>
       <td width="11%" align=center>课程ID</td>
        <td width="39%" align=center>课程名</td>
        <td width="17%" align=center>课程类型</td>
        <td width="16%" align=center>删除</td>
      </tr>
    <logic:empty name="listresult">
      <tr height=18>
        <td colspan="2">&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    </logic:empty>
    <logic:notEmpty name="listresult">
       <logic:iterate id="result" name="listresult" indexId="index" type="com.edu.elective.form.ElectiveForm">
      <tr  height=18>
       <td colspan="2" align=center><input type="checkbox" name="checkbox" value="<bean:write name="result" property="id"/>"></td>
        <td align=center><bean:write name="result" property="id"/></td>
        <td align=center><bean:write name="result" property="coursename"/></td>
        <td align=center><bean:write name="result" property="coursetype"/></td>
        <td align=center><!--a href="#" onClick="removeTest('<bean:write name="result" property="id"/>')" -->删 除<!--/a--></td>
       </tr>
       </logic:iterate>
    </logic:notEmpty>
       <tr>
        <td  align=left colspan="6"><edu:pageTag name="pageObject" property="queryResult"  scope="request"/></td>
    </tr>
       <TR>
       <td width="9%"><a href="javascript:selectAll()">全选</a></td>
        <td colspan="3"> &nbsp;&nbsp; &nbsp;&nbsp;提交</td>
        <td align=center colspan=3><div align="left">   &nbsp;&nbsp;&nbsp;
       <A href="<%=request.getContextPath()%>/member/addelective.jsp">新增........</A></div></td>
       </TR>
    </table>
    <html:hidden property="pageNum"/>
    </html:form></body>
    </html>