首注:本学习教程为传智播客汤阳光讲师所公布的免费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>

  这样就解决了懒加载的问题,不信启动服务器试试。

转载于:https://www.cnblogs.com/clear5/p/4043858.html

OA项目10:部门管理的三个细节问题的解决及处理懒加载问题相关推荐

  1. OA项目(部门管理模块)上

    一.模块功能介绍 1)视图模块如图: 2)添加部门功能 3)编辑部门功能 4)查询搜索功能 5)删除功能 这里为了更好展示,先把每页调整10条记录 删除前: 删除提示: 删除后: 二.前端设计 1)列 ...

  2. OA项目之部门管理的功能实现

    1.部门管理和岗位管理的功能实现是差不多的,首先看下都有哪些功能如图:(这里需要注意的比如如何显示上级部门?在添加的时候如何以树的结构来显示?等等需要非常注意的,本人在这其中遇到很多很多的错误,修改找 ...

  3. Fragment懒加载(三)

    老实说,我没想到我会写关于Fragment懒加载的第三章内容,我之前是打算写两章就完结了,以我的知识储备,我就只认为懒加载只是为了配合viewpager防止预加载而已,然后我错了,我没想到Fragme ...

  4. 系统管理模块_部门管理_设计(映射)本模块中的所有实体并总结设计实体的技巧_懒加载异常问题_树状结构...

    系统管理模块_部门管理_设计本模块中的所有实体并总结设计实体的技巧 设计实体流程 1,有几个实体? 一般是一组增删改查对应一个实体. 2,实体之间有什么关系? 一般是页面引用了其他的实体时,就表示与这 ...

  5. 2023年高频前端面试项目考点(npm,git,webpack,TS4,sass,瀑布流,懒加载)

    合集:2023年最全前端面试题考点HTML5+CSS3+JS+Vue3+React18+八股文+手写+项目+笔试_参宿7的博客-CSDN博客 *表示回顾基础知识 项目为二面三面,面试官基本就是照着简历 ...

  6. 解决关于VS无法加载解决方案中的项目的问题

    解决关于VS无法加载解决方案中的项目的问题 解决办法: 1.关闭vs 2.到缓存目录下,删除相关缓存,删除ComponentModelCache文件夹及包含的文件. C:\Users\ADMIN\Ap ...

  7. vue懒加载对话框API封装技巧(项目必备技能,适用于各种需要懒加载动态展示的弹框组件)

    懒加载对话框的方式做到了在你调用弹框展示API的那一刻,才去加载对话框文件并最终显示弹框效果.它最大的意义在于减少了你初次进入页面时加载的文件资源请求量和大小(加载资源小了,网页加载速度自然就提升了) ...

  8. Vue项目开发中使用路由懒加载

    Vue项目开发中使用懒加载 一.使用路由懒加载的好处 当打包项目时,JavaScript包会变的非常大,影响页面加载,要是通过把不同的路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应 ...

  9. vue项目实现路由按需加载(路由懒加载)的3种方式

    vue项目实现路由按需加载(路由懒加载)的3种方式 1.vue异步组件 2.es提案的import() 3.webpack的require,ensur *1.vue异步组件技术 ==== 异步加载 v ...

最新文章

  1. css animation动画完成后隐藏_如何使用CSS实现旋转地球动画效果
  2. 第十六届智能车竞赛室内视觉AI组别靶标使用说明
  3. 使用 WebIDE 三分钟上手函数计算
  4. 关于kthreadd
  5. linux服务器挂载不上nfs,我遇上的挂载不上NFS文件系统的坑
  6. couchbase java 手册_couchbase的使用 java
  7. 解决办法:GTK_OBJECT、GTK_SIGNAL_FUNC未声明
  8. 环境配置《安装gcc编译器》
  9. 电脑32位和64位有什么区别
  10. lpx寒假作业案例4
  11. Vscode 配置默认浏览器打开
  12. 免费的mysql云平台_免费的mysql云服务器
  13. 基于snmp 交换机监控系统实现
  14. centos7 安装 oceanbase 单机版测试
  15. Python系列 49 内置模块:subprocess
  16. 闭锁 java_Java并发编程之闭锁
  17. WV.16- 编程题AB-第二价格密封拍卖
  18. 论三元九运和二元八运
  19. 当你敲完Hello World后的第一步——C
  20. 《Java150道面试题全集》

热门文章

  1. 数据结构之二叉树的一些基本操作
  2. Metal日记:使用步骤指南
  3. Mware HA实战攻略之五VMwareHA测试验收
  4. android学习者优秀网址推荐
  5. PropertyGrid控件 分类(Category)及属性(Property)排序
  6. C#开发微信公众平台-就这么简单(附Demo)
  7. Discuz!X集群部署的系统方案和改造方式讨论
  8. 一个简单的Makefile模板
  9. 更新了一个新版本的editplus 语法文件(for nagios)
  10. 15--0~n-1中缺失的数字