//通过Context获得DAO实例 UserDAO userDAO = (UserDAO) context. getBean(BizContextNames.USER_DAO); DevLog.debug(\ userDAO.createUser(user); DevLog.debug(\} catch (PafaDAOException e) { DevLog.debug(\ throw new BusinessServiceException(e); } } } 【com.paic.userapp.management.biz.action.AddUserAction】 package com.paic.userapp.management.biz.action; import com.paic.pafa.app.biz.action.AbstractAction; import com.paic.pafa.app.biz.service.BusinessServiceException; import com.paic.pafa.app.dto.ServiceRequest; import com.paic.pafa.app.dto.ServiceResponse; import com.paic.userapp.management.biz.service.UserService; import com.paic.userapp.management.biz.util.BizContextNames; import com.paic.userapp.management.dto.UserDTO; import com.paic.pafa.app.lwc.core.context.support.PafaCoreContexton; import com.paic.pafa.core.exceptions.PafaRuntimeException; public class AddUserAction extends AbstractAction{ public ServiceResponse perform(ServiceRequest request) throws BusinessServiceException { //获得当前事务的ID String txnId = PafaCoreContexton.getInstance().getThreadContext().getTxnID(); try{ //从请求中获取DTO参数 UserDTO user=(UserDTO)request.getCurrentRequestObject(); //调用服务以完成功能 UserService userSrv = (UserService) context. getBean(BizContextNames.USER_SERVICE); userSrv.addUser(user); //返回响应 ServiceResponse response = new ServiceResponse(); return response; }catch(BusinessServiceException be){ throw be; }catch(PafaRuntimeException pe){ throw pe; }catch(Exception e){ throw new PafaRuntimeException(txnId, \ 本文内容涉及中国平安保险(集团)股份有限公司商业秘密,未经书面许可,不得以任何形式披露、传播或扩散。
?中国平安保险(集团)股份有限公司,版权所有,不得侵犯
第 31 页 共 43 页
} } } 5.6
编辑配置文件
至此“增加用户”功能的开发就完成了,但还需要通过编辑配置文件将这些功能组件串在一起。需要修改的配置文件如下所述:
【tiles-defs.xml】:定义视图名称所对应的JSP页面,增加以下定义
【appnameBizContext.xml】:修改并确认包含下列定义
?中国平安保险(集团)股份有限公司,版权所有,不得侵犯
第 32 页 共 43 页
Weblogic部署测试
至此,“新增用户”功能的开发就完成了,在Ant视图中双击“exploded-ear”以更新部署目录(Ant使用增量构建,可以大大减少构建时间);
启动Weblogic并进入应用部署页面就可以进行部署;如果之前部署的应用还在,也可以选择
本文内容涉及中国平安保险(集团)股份有限公司商业秘密,未经书面许可,不得以任何形式披露、传播或扩散。
?中国平安保险(集团)股份有限公司,版权所有,不得侵犯
第 33 页 共 43 页
“Redeploy Application”进行更新即可。
点击链接进行用户增加,如果顺利出现之前的预览页面“b”则意味着成功,否则请重复之前的步骤并确保每一步的正确。
本文内容涉及中国平安保险(集团)股份有限公司商业秘密,未经书面许可,不得以任何形式披露、传播或扩散。
?中国平安保险(集团)股份有限公司,版权所有,不得侵犯
第 34 页 共 43 页
6.
6.1
“检索用户”功能的设计与实现
功能分析
根据之前“检索用户”功能的流程设计和通过预览看到的样子,细化的内部流程如下图中所示:
点击“检索用户”链接[searchUser.screen]?searchUser.jsp按颜色区分流程先后次序 分别为 黑?蓝?红数据库编辑检索条件 点击提交 searchUser.do Ibatis sqlmap-config.xmlsqlmap-mapping.xml提取绑定对象;构建ServiceRequest;com.paic.userapp.management.web.controller.SearchUserController调用UserDAO UserIbatisDAO 发送ServiceResponse给“PAFA-AC” 以获取包含执行结果的ServiceRequest调用UserService UserPojoService 提取检索结果 准备数据Model 显示View tiles-defs.xml :userList.jsp结束PAFA-AC 根据请求查找动作对象? ??com.paic.userapp.management.biz.action.SearchUserAction 6.2
公用层设计与实现
通过“新增用户”功能的开发,我们已经搭建好了公用层的基本组件结构,现在只需要在原有的基础上添加一些内容即可,注意以下代码中突出的部分:
【com.paic.userapp.management.util.ServiceRequestID】 package com.paic.userapp.management.util; public class ServiceRequestID { public static final String ADD_USER=\public static final String SEARCH_USER=\} 【com.paic.userapp.management.web.util.ModelNames】 package com.paic.userapp.management.web.util; public class ModelNames { public static final String MODEL_ERROR_MSG = \ //检索结果列表的名称 public static final String MODEL_USER_LIST = \} 【com.paic.userapp.management.web.util.ViewNames】 package com.paic.userapp.management.web.util; public class ViewNames { 本文内容涉及中国平安保险(集团)股份有限公司商业秘密,未经书面许可,不得以任何形式披露、传播或扩散。
?中国平安保险(集团)股份有限公司,版权所有,不得侵犯
第 35 页 共 43 页