【仅供内部供应商使用,不提供对外解答和培训】

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

三、接口/方法/对象说明

该接口主要用于配合WebService接口,对具体的服务请求进行分发处理。该分发器一共有4个方法可以调用,但是插件开发中用得到的绝大多数情况下只有其中的3种。分发的所有请求必须是报表请求(view接口,对具体的服务请求进行分发处理。分发的所有请求必须是报表请求(view/report或view/form),且包含参数 op 和 cmd

上层的分发器通过op参数找到具体的WebService,然后根据cmd参数把请求分发到具体的Action类处理。

该分发器一共有4个方法可以调用,但是插件开发中用得到的绝大多数情况下只有其中的3种。

Code Block
languagejava
themeEclipse
RequestCMDReceiver [] actions = new RequestCMDReceiver[]{
        new ActionA(),
        new ActionB()
}
//第一种分发方式,也是最常用的一种方式。这种方式会传入sessionID,主要用于需要根据sessionID获取到当前的报表,根据报表进一步的处理的场景
WebActionsDispatcher.dealForActionCMD( request, response, sessionID, actions);


Code Block
languagejava
themeEclipse
RequestCMDReceiver [] actions = new RequestCMDReceiver[]{
        new ActionA(),
        new ActionB()
}
//第二种分发方式,功能跟第一种差不多,但主要是用于产品内部兼容一些历史原因导致的没有实现cmd的请求的规范处理。【主要是兼容用,插件里面也很少用】
WebActionsDispatcher.dealForActionDefaultCmd( request, response, sessionID, actions, "cmdA");


Code Block
languagejava
themeEclipse
ActionNoSessionCMD [] actions = new ActionNoSessionCMD[]{
        new ActionA(),
        new ActionB()
}
//第三种分发方式,调用具体的Action时不会带入sessionID,主要用于报表访问时的一些公共信息的加载。(在8.0/9.0中主要用于决策平台的请求扩展)
WebActionsDispatcher.dealForActionNoSessionIDCMD( request, response, actions);

四、常用链接

配合使用的服务接口介绍:com.fr.stable.fun.Service

配合使用的请求接口介绍:

com.fr.web.core.ActionCMDActionNoSessionCMD

com.fr.stable.web.RequestCMDReceiver

...