SOC风险管理网络安全监控平台安全分析系统 第10页

基于struts框架安全运维平台风险管理模块的实现

else

{   //如果所添加的信息不符合要求则返回失败字串

js.addCallBackFunParam("sorry,添加失败");

}

return PRUtil.responseProxy(response, js);

}

其中addTreeNode(vo)方法的部分代码为:

public int addTreeNode(TreeVO vo)

     {

ManageDAO dao = new ManageDAO();

          int temp=0;

          ……

          if(dao.addTreeNode(vo)==1) //调用ManageDAO对象中的添加方法

          {

             temp=1;

          }

         ……

         return temp;

 }

ManageDAO对象中的添加方法的部分代码如下:

public int addTreeNode(TreeVO vo) throws SQLException

{          ……

//sql1为处理添加的sql语句。

            int result1 = 0;

            int result2 = 0;

            int h = vo.getBid();

            Connection conn1 = this.getConnection();

            Connection conn2 = null;

        try {

                   result1 = this.executeUpdate(sql1, conn1, h, vo.getPBid(),

vo.getBName(), vo.getBType(), vo.getRootBid(),

vo.getHasSon(), vo.getPointLeft(), vo.getPointTop(),

vo.getPointR(),vo.getCharLeft(), vo.getPointTop(),vo.getCharWidth(),

vo.getCharHeight());    // 执行更新

try {

              String sql2="UPDATE business SET has_son=1 WHERE bid=?";

              conn2 = this.getConnection();

              result2=this.executeUpdate(sql2, conn2, vo.getPBid());

              this.commit(conn2);

       }

catch (SQLException e)

 {

       this.rollback(conn2);

       throw e;

}

finally

{

       this.close(conn2);

}

this.commit(conn1);

            }

catch (SQLException e)

{

                   this.rollback(conn1);

            }

Finally

{

                   this.close(conn1);

            }

            if ((result1 == 1) && (result2 == 1))

{ //只有当两则都成功时,才返回添加成功信息。

                   return 1;

            } else {

                   return 0;

            }

}

以上两个try,catch,finallu语句块是用来处理以下情况:

当在一个子节点下添加节点时,如果添加成功则要把新节点的父亲节点的hasson字段改成”1”,如果添加和更新操作有任何一个没有完成,则让两个事务回滚。至此,添加功能完毕。

6.4  删除节点

删除节点也是右击树的某一节点后弹出的右健菜单中的下个操作选项,它的页面代码为:

function del(id,parameters)

         {

            if(confirm("确定要删除 "+ parameters +" 么?"))

            {

                var Obj = new ParamObj();

                Obj.b_id = id;

                PRRequestProxy('manage','deleteTreeNode',Obj);

            }

         }

以上页面代码中最关键的一条语句是发送客户端请求到服务器的语句: PRRequestProxy('manage','deleteTreeNode',Obj)。这也是JSON实现局部刷新的实现,它是调用名为manage.do这个action中的deleteTreeNode方法来实现对后台处理的,然后把处理的结果封装到一个JSOBJ对象中,再通过所设置的回调函数将结果返回到页面并显示。回调函数放在页面:

function deleteTree(result)

{ 

   alert(result);

      parent.frameMenu.location =

"<%=path%>/manage.do?method=loadTree";

}

6.4  地理图和安全域树的显示

地理图的显示与管理地理图页面的安全域树的显示功能有一定的相同之处,他们都是要从数据库中读出所有的安全域信息,然后显示出来。只是他们的显示方式不同而已,在地理图显示时是以地图的形式显示安全域的信息,而在显示安全域树的时候是以树的形式来显示节点信息。它们的具体实现的步骤是:

1)        从数据库读出所有安全域的信息;

将所得的数据封装成一个VO对象再放入一个LIST<TREEVO>对象中,将其返回到BL

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

  • 上一篇文章:
  • 下一篇文章:
  • Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有