OA项目10:部门管理的三个细节问题的解决及处理懒加载问题
首注:本學習教程為傳智播客湯陽光講師所公布的免費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:部门管理的三个细节问题的解决及处理懒加载问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android中的armeabi等如何适
- 下一篇: 对象的三种状态