服务于区块链开拓者

www.zhidnet.com

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1、form 表单中的表单元素的值可以在action中通过 this.getRequest().getParameter();的形式获得,主要用来处理隐藏form 尤其是工作流中的隐藏数据String workFlowFullString = this.getRequest().getParameter("workFlowString");

2、在lgpDispatchFlow表中与workFlow表关联的字段是ORIGIN_WORK_FLOW_ID

3、流程的id发起源头是ngList.jsp页面上通过item.id触发创建,关联流程。在workflowNg.jsp页面通过隐藏form保存workFlowString字符串,并且设置四个必须熟悉的隐藏域。点击拟稿按钮后在saveWorkflowNg.action中保存了lgpdispatchFlow对象同时关联了workFlowId到ORIGIN_WORK_FLOW_ID字段中,进入对象创建页面,后续的操作都将关联到LgpdispatchFlow表的主键ID。对象被纳入流程。

4、struts中的自动注入原理:

  拦截器+反射,就是在request到达后台处理程序之间,加一层拦截器,截获到request对象,就可以通过request.getParameters()获取请求参数,然后通过请求URL可以得知你要请求的是哪个action类的哪个方法,然后你action中定义了跟request请求参数名称同名的属性,并提供get set,那么通过java反射机制调用action类的响应属性的set方法就可以把参数值设置进去,也就是所谓的“action属性自动注入”。

所以从action的自动注入原理可知如果在url中定义了action中的同名属性,那么在请求到action时会把url中的参数自动注入到action中的 对应属性中去。

java.lang.String id = null;
 private String flowId=null;
 private String[] items;
 public void prepare() throws Exception {
  if (isNullOrEmptyString(id)) {
   lgpContract = new LgpContract();
  } else {
   lgpContract = (LgpContract)lgpContractService.getById(id);
  }
  if (!isNullOrEmptyString(flowId))
  {
   this.lgpDispatchFlow = (LgpDispatchFlow)this.lgpDispatchFlowService.getById(flowId);
  }
 }所以在prepare方法中实际上已经完成了流程对象的创建

posted on 2013-11-06 19:06  知点网  阅读(213)  评论(0编辑  收藏  举报