bug修正及删除功能实现
1、log4j-1.2.15版本bug,建议不要使用它,而建议使用log4j-1.2.14
引用
After upgrading from 1.2.14 to 1.2.15 the following error show up during
shutdown:
log4j:ERROR LogMananger.repositorySelector was null likely due to error in
class
reloading, using NOPLoggerRepository.
No errors at all with 1.2.14
This probably is related to bug 40212
2、对应${org.parent.name},当org为顶级机构时候回报错空指针异常,修改
Organization.hbm.xml添加 not-found="ignore":
<many-to-one column="pid" access="field" name="parent" not-found="ignore"/>
Organization.java添加not-found="ignore":
/**
* @hibernate.many-to-one
* column="pid" not-found="ignore"
*/
private Organization parent;
index.jsp修改
<td align="center" vAlign="center">
<c:out value="${org.parent.name}"></c:out>
</td>
为
<td align="center" vAlign="center">
<c:if test="${!empty org.parent.name}">
<c:out value="${org.parent.name}"></c:out>
</c:if>
</td>
3、添加机构的唯一编号,修改OrgManagerImpl.java的addOrg(Organization org, int parentId)方法为:
public void addOrg(Organization org, int parentId) {
if(parentId != 0)
org.setParent((Organization)getHibernateTemplate().load(Organization.class, parentId));
getHibernateTemplate().save(org);
//TODO 设置机构的唯一编号
org.setSn(org.getParent() == null ? "" + org.getId(): org.getParent().getId() + "_" + org.getId());
getHibernateTemplate().update(org);
}
4、完成删除功能:
public_del_success.jsp文件:
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>删除记录成功</title>
<script type="text/javascript">
function closewindow(){
window.returnValue = true;
window.close();
}
function clock(){
i = i -1;
if(document.getElementById("info")){
document.getElementById("info").innerHTML = "本窗口将在"+i+"秒后自动关闭";
}
if(i > 0)
setTimeout("clock();",1000);
else
closewindow();
}
var i = 4;
clock();
</script>
</head>
<body>
<center>
删除记录成功!<p>
<div id="info">本窗口将在3秒后自动关闭</div>
<input type="button" value="关闭窗口" onclick="closewindow();">
</center>
</body>
</html>
public_update_success.jsp文件:
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>更新记录成功</title>
<script type="text/javascript">
function closewindow(){
if(window.opener){
window.opener.location.reload(true);
window.close();
}
}
function clock(){
i = i -1;
if(document.getElementById("info")){
document.getElementById("info").innerHTML = "本窗口将在"+i+"秒后自动关闭";
}
if(i > 0)
setTimeout("clock();",1000);
else
closewindow();
}
var i = 4;
clock();
</script>
</head>
<body>
<center>
更新记录成功!<p>
<div id="info">本窗口将在3秒后自动关闭</div>
<input type="button" value="关闭窗口" onclick="closewindow();">
</center>
</body>
</html>
update_add_succes.jsp文件
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>添加记录成功</title>
<script type="text/javascript">
function closewindow(){
if(window.opener){
window.opener.location.reload(true);
window.close();
}
}
function clock(){
i = i -1;
if(document.getElementById("info")){
document.getElementById("info").innerHTML = "本窗口将在"+i+"秒后自动关闭";
}
if(i > 0)
setTimeout("clock();",1000);
else
closewindow();
}
var i = 4;
clock();
</script>
</head>
<body>
<center>
添加记录成功!<p>
<div id="info">本窗口将在3秒后自动关闭</div>
<input type="button" value="关闭窗口" onclick="closewindow();">
</center>
</body>
</html>
DelOrgAction.java文件
package com.oa.action;
import com.oa.manager.OrgManager;
import com.opensymphony.xwork2.ActionSupport;
public class DelOrgAction extends ActionSupport {
private OrgManager orgManager;
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public void setOrgManager(OrgManager orgManager) {
this.orgManager = orgManager;
}
@Override
public String execute() throws Exception {
orgManager.deleteOrg(id);
return "del_success";
}
}
修改OrgManagerImpl.java的deleteOrg(int orgId)方法为:
public void deleteOrg(int orgId) {
Organization org = (Organization) getHibernateTemplate().load(Organization.class, orgId);
if(org.getChildren().size() > 0)
throw new RuntimeException("有子机构存在,不允许删除!");
getHibernateTemplate().delete(getHibernateTemplate().load(Organization.class, orgId));
}
修改index.jsp文件中
<a href="#" onclick="del('del.do?mentod=del&id=${org.id }');">删除</a></td>
为
<a href="#" onclick="del('del.action?id=${org.id }');">删除</a></td>
修改struts.xml文件为:
<package name="struts2" namespace="/" extends="struts-default">
<global-results>
<result name="add_success">/common/pub_add_success.jsp</result>
<result name="del_success">/common/pub_del_success.jsp</result>
<result name="update_success">/common/pub_update_success.jsp</result>
</global-results>
<action name="Login" class="loginAction">
<result name="success">/result.jsp</result>
<result name="input">/login.jsp</result>
</action>
<action name="org" class="orgAction">
<result name="success">/org/index.jsp</result>
</action>
<action name="add_input" class="orgAction" method="add">
<result name="success">/org/add_input.jsp</result>
</action>
<action name="add" class="addAction">
<result name="success">/common/pub_add_success.jsp</result>
</action>
<action name="del" class="delAction"></action>
</package>
applicationContext-actions.xml文件中添加:
<bean id="addAction" class="com.oa.action.AddOrgAction">
<property name="orgManager" ref="orgManager"/>
</bean>
<bean id="delAction" class="com.oa.action.DelOrgAction">
<property name="orgManager" ref="orgManager"/>
</bean>
启动tomcat,测试!
分享到:
相关推荐
2. **写入Shapefile**: 支持创建新的Shapefile或向现有Shapefile添加、修改和删除几何对象及属性信息。 3. **几何操作**: 包括计算几何对象的面积、长度、边界、交集、并集、差集等。 4. **投影转换**: 虽然`...
本项目“微信图片解密预览和删除”专注于解决这个问题,提供了源代码和bug修正,帮助用户更有效地管理和清理微信占用的磁盘空间。 首先,我们来看“微信dat格式的图片”。这是微信为了保护用户隐私和数据安全,将...
总结来说,修复"gridcontrol显示行号修正存在分组BUG"涉及了理解GridControl的分组功能、行号的逻辑计算以及事件驱动编程的概念。通过深入研究和实践,我们可以改进代码,使GridControl在分组模式下依然能够准确、...
实现的功能包括复制,拼接,删除,求深度,判断相等. 所有的功能都用递归实现,写完之后发现头有点大了.. [BUG:'GenList.cpp文件中,在Copy函数内,首先要调用Clear(*this), 不然对象原来的内存空间将泄漏]
- 强化标签功能:单个标签使用统计、标签不再仅仅关联于主题而是与某一帖子对应、增加标签推荐功能、修正标签重复时重复统计BUG、增加单个标签长度的判断。 - 优化搜索页面,搜索出某类主题之后,可批量将其删除,...
在iOS开发中,实现类似Zaker首页的拖动排序功能是一项常见的需求,它允许用户通过手势自由调整列表中元素的顺序。本项目提供了一个修复了若干bug的拖动排序类,特别针对iOS5进行了优化,提高了用户体验。让我们深入...
5)修正上传文件、上传模板及上传媒体文件功能中文件无法删除的BUG! 6)调整了控件弹出窗口的方式,部分功能的模式窗口转换为Div+CSS的窗口! 7)调整pathtype属性默认值为AbsoluteFull(绝对全路径)! 8)增加对VS2008的...
5)修正上传文件、上传模板及上传媒体文件功能中文件无法删除的BUG! 6)调整了控件弹出窗口的方式,部分功能的模式窗口转换为Div+CSS的窗口! 7)调整pathtype属性默认值为AbsoluteFull(绝对全路径)! 8)增加对VS2008的...
这个“kindeditor + video修正版”应该是针对KindEditor原有版本的一个修复更新,特别是针对视频功能的改进。在原版本中可能存在的一个bug是视频不能被正确地锁定在特定位置,这可能会影响到用户的编辑体验。例如,...
暂时删除了播放功能及网络相关的功能,由于以上两项功能一直没有能稳定下来,故暂时删除 增强了ZIP功能,支持带文件夹结构的ZIP/JAR文件 (对于大部分JAR电子书都,可以从文件管理器中找到非.class结尾的文件,并且...
4) 改进了转换相对及绝对路径的算法,此算法除了修正了上一版本无法正确转换全部路径的BUG外,还修正了以前算法在非IE浏览器下可能引起的脚本停止响应的严重BUG。 5) 修改Word文档导入功能生成的图片文件名为...
"修正了Bug"表明开发者已经对软件进行了调试和优化,解决了程序运行中的问题,提高了软件的稳定性和用户体验。这可能涉及到修复数据一致性错误、界面显示问题或者逻辑错误等。 7. **版本控制与发布** 开发过程中...
修正结束进程并且删除文件的问题 本工具目前初步实现如下功能: 1.进程、线程、进程模块、进程窗口信息查看,杀进程、杀线程、卸载模块等功能 2.内核驱动模块查看,支持内核驱动模块的内存拷贝 3.SSDT、Shadow ...
### Flex 第一步的Bug修正与知识点解析 #### 标题解析 标题“flex 第一步的bug”明确指出了本文档的主要内容是针对Flex技术初学者教程中存在的错误进行修正。Flex是一种用于构建高度交互式的Web应用的技术,其核心...
在“文件管理系统”这个项目中,我们看到开发者利用C++ Builder的特性实现了文件的基本操作,如新建、删除、编辑、复制以及查看属性等功能。 文件管理系统的核心功能可以分为以下几个方面: 1. **文件新建**:在...
[改进] 论坛功能大幅度的增加和改进,批量删除,上传文件等; [改进] 下载增加图片和关键字,增强其功能,改善版面; [改进] 后台管理,主要有可在后台设定网站配置参数等; [改进] 本站修改的UBB功能再次...
- **Urgent(紧急)**:这类Bug会导致系统崩溃或严重数据丢失,例如程序死机、非法退出、死循环、数据库死锁、操作导致程序中断、功能未实现、数据库连接错误和数据通讯错误。 - **Very high(非常高)**:这一...
`easyUploader.js`是一个轻量级的JavaScript插件,专为H5文件上传而设计,提供了一套简单易用的API接口,帮助开发者快速实现这一功能。然而,任何软件在实际使用中都可能出现一些问题,`easyUploader.js`也不例外。...
软件帮助站长和博客写手快速发送博客文章到博客网站,可以方便管理博客数据,支持数据自动备份恢复、博客库自动更新、发文章时动态伪原创功能等诸多功能,帮助用户优化网站排名,是用户实现博客推广功能的好帮手。...