把OpenSessionInViewFilter配置在struts之前即可
重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用。
问题已解决!!!!!!!!
员工的action中,你的currPage要提供set方法
知道了 那个web.xml的延迟加载的过滤器必须在struts核心过滤器配置前面
第一,opensessioninviewfilter放在Struts的filter的前面;
第二,数据库的员工数据里的所属部门要填有数据;
因为保存进堆栈了
他是继承了hibernatedaosupport这个类,是hibernate里面的方法
this表示实例本事,这个建议你再看看Java基础那里,详细解释过this的。list = this.getHibernateTemplate().find(hql);这一句就是返回数据库中数据的总数放入集合list中,list.get(0).intValue();这句就获取到了存入集合中的总数。
把opensessioninviewfilter放在Struts的filter前面即可
filter是有顺序的,先进先出
我的也是用懒加载才可以,不知道为什么用老师的方法不行
我觉得你这一块的代码是没有问题的,试着比对struts.xml文件的employee模块代码是否正确。
hql获取的是一个类集合,你说的返回部门名字的在哪儿?
<filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> <init-param> <param-name>flushMode</param-name> <param-value>AUTO</param-value> </init-param> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
我的没有出现,不知道为什么
这里的话应该指 PageBean 里面的 list
好吧 我知道了
确实的,使用老师的方法不行的,只有加上lazy="false"才可以。
<many-to-one name="department" class="ssh.entity.Department" column="dno" lazy="false"></many-to-one>
在 Employee.hbm.xml中加上lazy="false"