- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《eepat7自定义动作扩展
自定义动作扩展(以删除多条记录为例)
自定义动作是平台功能的扩展,即为了完成平台不能配置的功能。自定义动作有两种实现方式:通过脚本在线编写 实现com.exedosoft.plat.action.Action接口或继承com.exedosoft.plat.action.DOAbstractAction抽象类
自定义动作的应用场景:
服务使用自定义动作:这时服务的执行委托给自定义动作,不再执行服务定义的SQL语句
参数使用自定义动作:自定义动作的返回值为参数的值
编码(CodeMain)使用自定义动作:自定义动作的返回值编码的值
编码项(CodeItem)目使用自定义动作:自定义动作的返回值为编码项目的值
通过平台提供的javascript callAction 的函数,直接调用自定义动作,完成前台和后台的直接交互 脚本在线编写
var DEFAULT_FORWARD = success;
var NO_FORWARD = noforward;
var sSubmit = doservice.getService(tbl_person_delete);//调用删除人员的服务
var checks=doform.getValueArray(checkinstance);//获取Form节点中name为checkinstance的属性的值
if(checks !=null checks.length 0){
// 循环调用删除服务
for(var i = 0 ; i checks.length ; i ++){
var rid = checks[i] ;
sSubmit.invokeUpdate(rid) ; //rhino js是老版本的,这个rid参数要用[]包起来
}
SessionContext.getInstance().getThreadContext().setEchoValue(批量删除完成!) ;
ret = DEFAULT_FORWARD ;
}else{
SessionContext.getInstance().getThreadContext().setEchoValue(没有数据!) ;
ret = NO_FORWARD ;
}
ret ; //返回值
新建删除服务配置其自定义动作为新添加的动作
打开人员业务对象的服务包,新建一个删除服务,配置明细如下:
配置人员result表格并在其中添加批量删除按钮使之连接的服务为新建的删除服务
配置人员result表格如下:
在人员result表格中新增“批量删除”表格元素,配置如下:
继承com.exedosoft.plat.action.DOAbstractAction抽象类package,路径如下: com.eeplat.action.myself,在其中新建人员批量删除自定义动作类:DeleteAllPerson,然后重启tomcat。(可参照里的)
代码明细如下:
public class DeleteAllPerson extends DOAbstractAction {
@Override
public String excute() throws ExedoException {
// TODO Auto-generated method stub
// 获取Form节点
BOInstance form = DOGlobals.getInstance().getSessoinContext()
.getFormInstance();
// 调用删除人员的服务
DOService deleteService = DOService.getService(tbl_person_delete);
// 获取Form节点中name为checkinstance的属性的值
// 因为表格用的GridList控制器,在其配置的checkbox的name为checkinstance,(明细请
// 参照/exedo/webv3/template/grid/GridList.ftl)
// 因此获取Form节点中name为checkinstance的属性的值即可获得在页面中选择的要删除的人员列表
String[] checks = form.getValueArray(checkinstance);
if (checks == null checks.length 0) {
this.setEchoValue(没有数据!);// 在页面弹出提示框
return NO_FORW
文档评论(0)