转:传智播客—jbpm与OA项目(五)续二

5.修改员工

/**

 * 修改员工

 */

public ActionForward edit(ActionMapping mapping, ActionForm form,

        HttpServletRequest request, HttpServletResponse response)

        throws Exception {

    // 先到数据库中获取被修改员工的记录,是因为BeanActionForm属性不一致。

    Long id = Long.parseLong(request.getParameter("id"));

    Employee emp = this.empServ.getById(id);

    BeanUtils.copyProperties(emp, form);

    // 修改员工信息

    this.empServ.update(emp);

    // 跳转到显示员工列表页面

    return mapping.findForward("toList");

}

 

         6.删除员工

/**

 * 删除员工

 */

public ActionForward del(ActionMapping mapping, ActionForm form,

        HttpServletRequest request, HttpServletResponse response)

        throws Exception {

    // 根据删除员工id,删除员工

    Long id = Long.parseLong(request.getParameter("id"));

    this.empServ.delete(id);

    // 跳转到显示员工列表页面

    return mapping.findForward("toList");

}

 

         7.特别注意

         员工对象有一个入职时间的属性,我们将这个属性类型定义为java.util.Date类型。但保存或获取SQL数据库中的Date类型记录时,我们需要转换。但在程序中我们使用“BeanUtils.copyProperties(dest, orig);”方法将ActionForm中的数据拷贝到Dean对象中,此时我们需要为BeanUtils添加一个指定类型的转换器,在HibernateSessionFilterinit方法中注册转换器:

public void init(FilterConfig arg0) throws ServletException {

    ConvertUtils.register(new BeanDateConvert(), Date.class);

    System.out.println("过滤器HibernateSessionFilter注册转换器BeanDateConvert成功!");

}

 

转换器:

import java.text.*;

import java.util.Date;

import org.apache.commons.beanutils.Converter;

 

public class BeanDateConvert implements Converter {

 

    private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

   

    public Object convert(Class clazz, Object value) {

        if(value == null)

            return null;

        if(value instanceof Date)

            return value;

       

        if(value instanceof String){

            try {

                return this.sdf.parse((String) value);

            } catch (ParseException e) {

                e.printStackTrace();

                return null;

            }

        }

        throw new IllegalArgumentException("不支持的类型:"+value.getClass().getName());

    }

}

        

         给员工分配帐户,以及登陆与注销管理在此就不总结了,因为它十分简单。

 

三、JSP页面整合与JQuery插件

         现在,我们将这两天编写的内容使用framset整合到一起(index.jsp):

<!-- 主页面 -->

<frameset border="0" rows="70px,20px,*" border="0" id="framesetRows">

    <!-- 上部 -->

    <frame name="top" src="top.jsp" noresize="noresize" scrolling="no">

    <!-- 分隔条 -->

    <frame name="top" src="top2.jsp" noresize="noresize" scrolling="no">

    <!-- 下部 -->

    <frameset cols="200px,17px,*" border="0" id="framesetCols">

        <!-- 左部 -->

        <frame name="left" src="left.jsp" noresize="noresize">

        <!-- 分隔条 -->

        <frame name="middle" src="middle.jsp" noresize="noresize" scrolling="no">

        <!-- 右部 -->

        <frame name="right" src="right.jsp" noresize="noresize">

    </frameset>

</frameset>

 

         我们在左部页面使用了树型,显示各应用模块和模块详细。在这里我们使用的是xtree这个JQuery插件。使用JQuery插件非常简单,直接在网页中引入插件的js文件,然后调用相关接口即可使用插件:

<script type="text/javascript" src="${pageContext.request.contextPath}/script/xtree/xtree.js"></script>

    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/script/xtree/xtree.css" />

 

<script type="text/javascript">

    var tree = new WebFXTree("导航菜单");

   

    var item0 = tree.add(new WebFXTreeItem("Welcome, [${user.employee.name}]"));

    item0.add(new WebFXTreeItem("登录", "<html:rewrite action='/user?method=loginUI'/>", null, null, null, "right"));

    item0.add(new WebFXTreeItem("注销", "<html:rewrite action='/user?method=logout'/>", null, null, null, "right"));

 

    var item3 = tree.add(new WebFXTreeItem("组织机构管理"));

    var item = item3.add(new WebFXTreeItem("部门管理", "<html:rewrite action='/dept?method=list'/>", null, null, null, "right"));

    item3.add(new WebFXTreeItem("岗位管理", "<html:rewrite action='/role?method=list'/>", null, null, null, "right"));

    item3.add(new WebFXTreeItem("员工管理", "<html:rewrite action='/emp?method=list'/>", null, null, null, "right"));

 

    document.write(tree);

    tree.expandAll();

</script>

 

         我们也有在添加员工时为入职时间指定了一个日期框的插件,使用起来非常方便。

 

         OK,上边就是今天的内容!还有OA项目还有三天,接下来的三天主要使用JBPM来完成审批管理、审批流转、表单查询功能。

 

         以前学的零散的知识,现在用到了一起,感觉very fine

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值