当前位置:StudyEZ>学易考试社区>IT>数据库>关于struts+spring+hibernate中displaytag数据不能显示问题

关于struts+spring+hibernate中displaytag数据不能显示问题

上一主题 下一主题
1页, 共1页 (共10楼)

关于struts+spring+hibernate中displaytag数据不能显示问题

2007-03-06 2:54 下午

各位大大,帮帮忙分析一下是什么问题。
我再struts的action中写了个list: public ActionForward search(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
log.debug("Execute search command");

List projectAreas = new ArrayList();
ProjectAreaManager mgr = (ProjectAreaManager) getBean("projectAreaManager");
projectAreas = mgr.getProjectAreas();
request.setAttribute("projectAreaList", mgr.getProjectAreas());
return mapping.findForward("list");   
}
然后在web页面中用displaytag显示老出问题:
javax.servlet.ServletException: javax.servlet.jsp.el.ELException: An object of type "java.util.ArrayList" threw an exception in its toString() method while trying to be coerced to a String
请各位大大给看看。
利用<html:select/>可以取得list中的内容。

回复: 关于struts+spring+hibernate中displaytag数据不能显示问题

2007-03-06 2:55 下午
javax.servlet.ServletException: javax.servlet.jsp.el.ELException: An object of type "java.util.ArrayList" threw an exception in its toString() ================ 在你的DisplayTag里,一定是你直接把list打印出来了,正确的是打印list里面的某个属性

回复: 关于struts+spring+hibernate中displaytag数据不能显示问题

2007-03-06 2:55 下午
表达式语言,需要el得库得支持,而且对servlet版本有要求得...如果你不清楚得话,可以考虑不用el版本...用普通得版本...

回复: 关于struts+spring+hibernate中displaytag数据不能显示问题

2007-03-06 2:55 下午
谢谢各位的帮助。我还是不太明白。我的web页面是这样写的:

回复: 关于struts+spring+hibernate中displaytag数据不能显示问题

2007-03-06 2:55 下午

<display:table name="${timeArrangeList}" id="timeArrangeList"
id的属性应该是每一次循环时的名字,不应该和name="${timeArrangeList}" 里面的重复啊
你把Id属性的名字改一下

 

回复: 关于struts+spring+hibernate中displaytag数据不能显示问题

2007-03-06 2:56 下午

我改了,还是不行,还是出现上面的问题:javax.servlet.ServletException: javax.servlet.jsp.el.ELException: An object of type "java.util.ArrayList" threw an exception in its toString() method while trying to be coerced to a String

 

回复: 关于struts+spring+hibernate中displaytag数据不能显示问题

2007-03-06 2:56 下午
呵呵呵,忘了谢谢“v38(拖拉机:Hibernate:寻找那个传说中的Bug)”的帮助了。

回复: 关于struts+spring+hibernate中displaytag数据不能显示问题

2007-03-06 2:56 下午

而且控制台显示的主要部分是:16:12:43,109 ERROR LazyInitializationException[<init>]:19 - could not initialize proxy - the owning Session was closed
org.hibernate.LazyInitializationException: could not initialize proxy - the owning Session was closed

 

回复: 关于struts+spring+hibernate中displaytag数据不能显示问题

2007-03-06 2:57 下午

晕,你早点把控制台内容发上来,就不用在这里帮你乱猜了
could not initialize proxy - the owning Session was closed
这一句是说,你载入的对象中的某个级联对象,是在访问他的时候,才从Hibernate中载入的
但是当访问时,Session已经关闭。所以报错
解决方法: 1。hibernate载入时手动的访问那个对象属性
           2。如果你用了Spring,那就使用open session in view
据体实现,google里面可以找到很详细的说明

许多问题的最根本原因是在控制台打印出来的!~

 

回复: 关于struts+spring+hibernate中displaytag数据不能显示问题

2007-03-06 2:57 下午

呵呵呵,不好意思啊。我再web.xml里面设置了:
     <filter>
        <filter-name>hibernateFilter</filter-name>
        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    </filter>
你说的是不是这个阿,但是还是不行啊。
而且我取得在DAO中取得list的函数是这样:
public List getTimeArranges(){
HibernateCallback callback = new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
List objs = null;
objs = session.createCriteria(TimeArrange.class).list();

return objs;
}
};
return (List) getHibernateTemplate().execute(callback);
}

 

1页, 共1页 (共10帖)