1. 功能介绍

    Ajax操作,异步操作,局部刷新页面,提供更好的交互性操作体验

  2. 方法说明

    类路径 Wade.ajax
    类描述 Wade Javascript框架的ajax封装包,其中公开方法已经映射到window对象,可以直接调用方法
    方法名称 ajaxDirect(page, listener, params, partids, israw,fn)
    方法描述 使用get方式传递数据并异步调用服务器端方法。
    example:ajaxDirect(‘queryApply’,’queryInfo’,’COP_NAME=测试’,’refreshArea’,null,onQueryComplete);
    方法名称 ajaxSubmit(page,listener,params,partids,formIds,israw,fn)
    方法描述 使用post方式传递数据并异步调用服务器端方法。
    example:ajaxSubmit('detailApply','saveInfo’,'','refreshArea','infoForm',null,onApplyComplete);
    方法名称 setAjaxLoading(true|false)
    方法描述 设置ajax时是否带有载入效果,若不要载入效果,需要设置该参数,默认为true
    其他 高级使用方法
    方法名称 ajaxGet(page,listener,params,partids,israw,d,fn)
    方法描述 使用ajaxGet来进行异步调用
    example:ajaxDirect(‘queryApply’,’queryInfo’,’COP_NAME=测试’,’refreshArea’,null,true,onQueryComplete);
    大部分参数类似ajaxDirect,其中,"d"参数为是否调用默认的ajax回调处理函数,值应为true|false
    当设置了partids或者需要在回调函数中取ajaxDataset时必须设置为true才能生效。
    而如果只是使用简单的ajax调用,则可以设置为false,提高效率
    方法名称 ajaxPost(page,listener,params,partids,israw,postbody,d,fn)
    方法描述 使用ajaxPost来进行异步调用
    example:ajaxPost('queryApply','queryInfo','COP_NAME=测试','refreshArea',
    null,"ID=5&NAME=%E5%90%8D%E7%A7%B0",true,onQueryComplete);
    使用ajaxPost异步调用post自定义数据到服务器端,其中,postBody为自定义的post数据
    postBody 必须是经过格式化的数据
    可以使用Wade.ajax.buildPostData(o[object])和Wade.ajax.buildFormData(form[string|dom])来构造postBody数据
    例如:
    ade.ajax.buildPostData({ID:"5",NAME:"名称"});
    Wade.ajax.buildFormData("form1");
    "d"参数为是否调用默认的ajax回调处理函数,值应为true|false
    当设置了partids或者需要在回调函数中取ajaxDataset时必须设置为true才能生效。
    而如果只是使用简单的ajax调用,则可以设置为false,提高效率
  3. 代码片段

    1. Ajax方法调用

      IData taskParam = new DataMap();
      taskParam.put("VIP_ID", "1234565");
      Util.addBatchTask(pd, BaseFactory.CENTER_CONNECTION_NAME, ExamplesTask.class, taskParam, common.getCurrentTime());
      @pd 上下文对象
      @connName 需要指向的连接,为null表示取默认连接
      @taskclass 需要执行的Task类
      @taskparam 需要传递的参数
      @exectime 指定定时执行的时间
      
    2. 任务执行代码

      public class ExampleTask extends AppTask {
      	public IData execute(IData param) throws Exception {
      		//构造上下文对象
      		PageData pd = getPageData();
      		
      		//获取VIP_ID参数,param由配置任务时传入
      		String vip_id = param.getString("VIP_ID");
      		
      		//根据vip_id删除vip资料
      		ExamplesBean bean = new ExamplesBean();
      		bean.deleteVipcust(pd, vip_id);
      		
      		//返回执行编码和执行提示,编码由业务定制、方便查询
      		return makeResult("VIP_TASK_ID_" + vip_id, "流程执行成功");
      	}
      }
      
    3. 测试代码(如果配置了timer则不需要执行)

      IData param = new DataMap();
      param.put("VIP_ID", "1234565");
      ExampleTask task = new ExampleTask ();
      task.execute(param); 
      
    4. 应用配置(web.xml配置JMS相关信息)

      <servlet>
      	<servlet-name>message</servlet-name>
      	<servlet-class>com.linkage.component.util.timer.MessageServlet</servlet-class>
      	<init-param>
      		<param-name>connection-factory-jndi</param-name>
      		<param-value>jms_cf_quickstart_1</param-value>
      	</init-param>
      	<init-param>
      		<param-name>queue-jndi</param-name>
      		<param-value>jms_queue_quickstart_1</param-value>
      	</init-param>
      	<init-param>
      		<param-name>threadpool-size</param-name>
      		<param-value>50</param-value>
      	</init-param>
      	<init-param>
      		<param-name>thread-priority</param-name>
      		<param-value>5</param-value>
      	</init-param>
      	<load-on-startup>1</load-on-startup>
      </servlet>
      

      说明:
      1. jms_cf_quickstart_1表示JMS连接,jms_queue_quickstart_1表示JMS队列名
      2. JMS配置及timerapp需要参看timer定时器配置
    5. 定时配置

      1. 每天定时指定时间执行

        D/9:52:00/2006-6-5
        
      2. 每天定时执行并指定执行次数和执行频率

        D/9:52:00/2006-6-5/3,1
        

        3表示执行三次,1表示一分钟执行一次
      3. 每天定时执行,一分钟执行一次

        可以该样,配48条记录
        D/00:00:00/2006-6-5/59,1
        D/01:00:00/2006-6-5/59,1
        D/02:00:00/2006-6-5/59,1
        ...
        D/23:00:00/2006-6-5/59,1 
        
      4. 每周定时执行

        W/9:52:00/2006-6-5/1,3,4,5,6/3,1
        

        1,3,4,5,6表示要执行的星期几
      5. 每月定时执行

        M/9:52:00/2006-6-5/1,17,21:1,2,3/3,1
        

        M是每月
        限制在1,17,21号执行
        只有1,2,3月执行
    6. 定时任务表配置

      1. 定时任务表

        TD_M_TASK:(定时任务表)
        TASK_ID		1(任务标识)
        TASK_KIND		1(任务分类)
        TASK_TYPE		0(任务类型)
        CLASS_NAME	com.linkage.sale.timer.HAIN.birthday.VipBirthdaySms
        USE_TAG		1(可用标记)
        EXPIRED_TAG	0(过期标记)
        PARAMS		staffId=SUPERUSR;staffName=超级工号;deptId=36601;deptCode=HNSJ0000;deptName=移动省公司;cityId=HNSJ;cityName=省局;epachyId=0898;epachyName=海南地州;loginEpachyId=0898;provinceId=HAIN
        SUBSYS_CODE	sale(子系统)
        
      2. 定时任务执行计划表

        TD_M_TASK_PLAN:(定时任务执行计划表)
        TASK_ID		1(任务标识)
        PLAN_INDEX	1(计划索引)
        PLAN		D/17:05:00/2009-9-18/18,60
        PARAMS		staffId=SUPERUSR;staffName=超级工号;deptId=36601;deptCode=HNSJ0000;deptName=移动省公司;cityId=HNSJ;cityName=省局;epachyId=0898;epachyName=海南地州;loginEpachyId=0898;provinceId=HAIN
        USE_TAG		1(可用标记)
        EXPIRED_TAG	0(过期标记)
        LAST_EXEC_TIME	2009/9/25 0:05:00(记录最后处理时间,不用填,自动生成)
        LAST_FINISH_TIME	2009/9/25 0:05:00(记录最后完成时间,不用填,自动生成)
        EXCEPTION_TAG	0(异常标记)
        RESULT_CODE	
        RESULT_INFO	
        EXCEPTION_INFO