java.lang.ClassCastException:

xiaoxxxxx 2008-11-28 03:30:13
FeeDaoImpl中的代码:

public List findFeeAndRole() {
String hql = "from PFee f,PTransFee tf,PTransRole tr where f.feeId = tf.feeId and tf.transRoleId = tr.transRoleId";
Object[] obj = new Object[3];
obj[0] = new PFee();
obj[1] = new PTransRole();
obj[2] = new PTransFee();


return this.getHibernateTemplate().find(hql);
}

页面中的部分代码:

<%
PagedListHolder ph = null;
ph=(PagedListHolder)request.getAttribute("list");
List list=(List)ph.getPageList();
try {
if (list.size() == 0) {
%>
<tr align="center">
<td colspan=7><h5><b><font color="#3300FF">没有符合条件的记录</font></b></h5></td>
</tr>
<%

} else {
for(Iterator it = list.iterator();it.hasNext();){
Object[] pair= (Object[])it.next();
PFee fee = (PFee)pair[0];
PTransRole role = (PTransRole)pair[1];
PTransFee tf=(PTransFee)pair[2];
%>


控制台的错误信息:


java.lang.ClassCastException: com.crinode.mbank.pmgt.po.PFee
at org.apache.jsp.frame.pfee.browser_jsp._jspService(browser_jsp.java:138)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.crinode.mbank.pmgt.basedata.SetCharsetFilter.doFilter(SetCharsetFilter.java:13)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zidasine 2008-11-28
  • 打赏
  • 举报
回复
Object[] obj = new Object[3];
obj[0] = new PFee();
obj[1] = new PTransRole();
obj[2] = new PTransFee();
这个数组和你
return this.getHibernateTemplate().find(hql);
没有关系你到页面取什么
dreamhunter_lan 2008-11-28
  • 打赏
  • 举报
回复

ph.getPageList();

返回的是什么?你不能乱来啊,如果本来就是List了那根本就不用转换了,如果本来就不是List那你硬来也不行
我测试了一下,我的代码是可以取出来了,可以参考看,还不行你就把你代码贴详细点,根式排好点,让其他大侠给你搞定,呵呵

public void testGet() {
Session session = null;
List list = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();

String hql = "from User, Group";
list = session.createQuery(hql).list();

session.getTransaction().commit();

Object[] objs = (Object[])list.get(0);
User user = (User)objs[0];
System.out.println(user.getName());
} catch (Exception e) {
session.getTransaction().rollback();
e.printStackTrace();
} finally {
HibernateUtils.closeSession(session);
}
}
xiaoxxxxx 2008-11-28
  • 打赏
  • 举报
回复
请各位帮帮,解决一下!!

67,513

社区成员

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

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