加入了struts标签的一个错误,高手指点

nomadycf 2007-06-23 01:13:05
message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.edu.common.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:103)


root cause

java.lang.ClassCastException
org.apache.jsp.member.addelective_jsp._jspService(addelective_jsp.java:276)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.edu.common.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:103)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
...全文
222 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
nomadycf 2007-06-24
  • 打赏
  • 举报
回复
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"> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </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">      提交</td>
<td align=center colspan=3><div align="left">    
<A href="<%=request.getContextPath()%>/member/addelective.jsp">新增........</A></div></td>
</TR>
</table>
<html:hidden property="pageNum"/>
</html:form>

</body>
</html>
nomadycf 2007-06-24
  • 打赏
  • 举报
回复
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;
}

}
nomadycf 2007-06-24
  • 打赏
  • 举报
回复
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);
}

}
whirlsun 2007-06-23
  • 打赏
  • 举报
回复
标准的强制类型转化错误。建议贴出你的action,from和jsp文件。
nomadycf 2007-06-23
  • 打赏
  • 举报
回复
兄弟们帮忙解决下,谢谢哈,公司搞培训,回来我接着试下
nomadycf 2007-06-23
  • 打赏
  • 举报
回复
result输出的是一个结果集
huoyin 2007-06-23
  • 打赏
  • 举报
回复
这个是个ClassCastException,也就是类强制转型的异常,_jspx_page_context.findAttribute("result");返回的对象不是com.edu.elective.form.ElectiveForm。

你可以在jsp中用System.out打印一下result是什么对象。
nomadycf 2007-06-23
  • 打赏
  • 举报
回复
java.lang.ClassCastException
org.apache.jsp.member.addelective_jsp._jspService(addelective_jsp.java:276)
下面就是org.apache.jsp.member.addelective_jsp._jspService

if (_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");

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧