OA项目10:部门管理的三个细节问题的解决及处理懒加载问题
2014-10-22 17:39
447 查看
首注:本学习教程为传智播客汤阳光讲师所公布的免费OA项目视频我的文字版实践笔记,本人用此来加强巩固自己开发知识,如有网友转载,请注明。谢谢。
一 部门管理遗留三个细节问题,及其处理方法:
1.当选择了子部门列表,希望增加返回上一级按钮,点击可以回到上一级的部门列表;
1)在list页面添加返回上一级按钮(在新建按钮后面),如下:
<s:a action="department_list?parentId=%{#parent.parent.id}"><img src="${pageContext.request.contextPath}/style/blue/images/button/ReturnToPrevLevel.png" /></s:a>
2)在DepartmentAction.java的list()方法中(parent!=null)新增以下代码,查询到parent对象:
Department parent = departmentService.findById(parentId);
ActionContext.getContext().put("parent", parent);
2.在子部门列表中新建修改部门时,希望在新建页面的上一级部门中回显上级部门的信息;在保存部门时,回到新建部门的同级部门列表,以便显示刚刚新建的部门。
在list.jsp中的新建按钮中添加parentId,内容如下,这样在新建页面就可以回显上级部门信息了:
<s:a action="department_addUI?parentId=%{parentId}"><img src="${pageContext.request.contextPath}/style/images/createNew.png" /></s:a>
在struts.xml文件中,修改重定向的result值,添加parentId值,在重定向功能时就可以带着parentId回到我们的上级部门显示列表了:
<result name="toList" type="redirectAction">department_list?parentId=${parentId}</result>
3.在删除子部门时,希望回到删除部门的同级部门显示列表。
在list.jsp中修改删除按钮,添加parentId,如下:
<s:a onClick="return window.confirm('这将删除所有的下级部门,您确定要删除吗?')" action="department_delete?id=%{id}&parentId=%{parentId}">删 除</s:a>
二 懒加载异常的处理:
之前在项目中出现了懒加载异常,当时使用了临时的解决办法就是在Department.hbm.xml中使用了lazy="false",但这并不能根除问题,因为这样的话就把懒加载的好处都去掉了,所以为了更好的解决此问题,即不让session在service层关闭,在filter或interceptor中关闭。采取以下办法:
在web.xml中配置一个过滤器,具体内容如下(注意:要配置在struts过滤器之前):
<!-- 配置Spring用于解决懒加载问题的过滤器,要配在struts2过滤器之前 -->
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
这样就解决了懒加载的问题,不信启动服务器试试。
一 部门管理遗留三个细节问题,及其处理方法:
1.当选择了子部门列表,希望增加返回上一级按钮,点击可以回到上一级的部门列表;
1)在list页面添加返回上一级按钮(在新建按钮后面),如下:
<s:a action="department_list?parentId=%{#parent.parent.id}"><img src="${pageContext.request.contextPath}/style/blue/images/button/ReturnToPrevLevel.png" /></s:a>
2)在DepartmentAction.java的list()方法中(parent!=null)新增以下代码,查询到parent对象:
Department parent = departmentService.findById(parentId);
ActionContext.getContext().put("parent", parent);
2.在子部门列表中新建修改部门时,希望在新建页面的上一级部门中回显上级部门的信息;在保存部门时,回到新建部门的同级部门列表,以便显示刚刚新建的部门。
在list.jsp中的新建按钮中添加parentId,内容如下,这样在新建页面就可以回显上级部门信息了:
<s:a action="department_addUI?parentId=%{parentId}"><img src="${pageContext.request.contextPath}/style/images/createNew.png" /></s:a>
在struts.xml文件中,修改重定向的result值,添加parentId值,在重定向功能时就可以带着parentId回到我们的上级部门显示列表了:
<result name="toList" type="redirectAction">department_list?parentId=${parentId}</result>
3.在删除子部门时,希望回到删除部门的同级部门显示列表。
在list.jsp中修改删除按钮,添加parentId,如下:
<s:a onClick="return window.confirm('这将删除所有的下级部门,您确定要删除吗?')" action="department_delete?id=%{id}&parentId=%{parentId}">删 除</s:a>
二 懒加载异常的处理:
之前在项目中出现了懒加载异常,当时使用了临时的解决办法就是在Department.hbm.xml中使用了lazy="false",但这并不能根除问题,因为这样的话就把懒加载的好处都去掉了,所以为了更好的解决此问题,即不让session在service层关闭,在filter或interceptor中关闭。采取以下办法:
在web.xml中配置一个过滤器,具体内容如下(注意:要配置在struts过滤器之前):
<!-- 配置Spring用于解决懒加载问题的过滤器,要配在struts2过滤器之前 -->
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInViewFilter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
这样就解决了懒加载的问题,不信启动服务器试试。
相关文章推荐
- 项目管理中需要处理好的四个问题
- 矩阵结构式的测试部门建立及测试项目管理问题请教
- 解决vs2012无法加载项目问题
- Eclipse中发布Maven管理的Web项目时找不到类的问题根源和解决办法
- MVN:Maven bundle error:解决Maven管理的项目下"Missing artifact xxx bundle"问题
- 处理 C++ 项目中的 IntelliSense 失败:输入类实例后,不能显示其成员几成员函数问题解决
- Tomcat设置默认访问项目及项目重复加载问题处理
- SSH OA系统的三个细节问题
- 解决Maven管理的项目下"Missing artifact xxx bundle"问题
- 用gradle管理android项目出现的问题以及解决方法
- 解决用Svn管理delphi 项目问题
- 解决Android Http请求处理Response Cookie时区加载过慢问题
- 项目管理的文化差异解决方法 解决生活婆媳问题
- Adobe Flash player 10 提示:Error#2044:未处理的IOErrorEvent. text=Error#2036:加载未完成 的解决方法
- 项目管理的三个问题
- 项目所遇到的一些管理问题解决方法
- 项目管理-解决问题是从简单到复杂再回归简单的过程
- 解决: Firefox一些页面绝大部门显示正常,但却永远加载不完的问题,页面一直在加载中
- 解决Maven管理的项目下"Missing artifact xxx bundle"问题
- 用加载字符串配置文件的方式解决cocos2D-x项目中文乱码问题