前言
宏天 EIP8 低代码平台中,Groovy 动态脚本是提升表单灵活性、减少硬编码的核心能力。尤其在表单保存场景中,通过前置 / 后置 Groovy 脚本实现字段自动赋值,是新手最常用、最易上手的实战场景。本文以「订单数值字段赋值」为例,手把手教你配置前置 / 后置脚本,全程示例简单易懂,零基础也能学会。
一、核心概念
在开始配置前,先明确两个核心概念(以表单为例):
- 前置 Groovy 脚本 :表单「保存按钮」点击后、数据真正提交到数据库之前执行,常用于数据校验、字段赋值(优先处理核心字段)。
- 后置 Groovy 脚本 :表单数据成功保存到数据库之后执行,常用于依赖已保存数据的字段赋值、调用外部接口、日志记录等。
- 宏天 EIP8 内置 Groovy 引擎,支持标准 Groovy 语法,可直接调用平台内置 API 操作表单字段。
二、实战场景:订单字段赋值
场景需求
- 前置脚本:表单保存前,给订单主表的
orderId(订单 ID)、totalAmount(订单总金额)字段赋予固定值,覆盖原有数值。 - 后置脚本:表单保存后,通过 SQL 语句更新
W_Order表的f_customerId(客户 ID)字段为指定值。
三、 Groovy 脚本配置(表单保存前赋值)
步骤 1:表单列表配置
- 登录宏天 EIP8 平台,打开需要配置的表单列表(如「订单管理」)。
- 进入「表单列表配置界面」页面,找到表单设置(不同模块入口略有差异,核心是找到「Groovy脚本配置」)。

步骤 2:编写前置赋值脚本
以下是给「订单金额(orderAmount)」赋值的最简示例,直接复制即可使用:
// 获取订单主表字段的数值 def orderId = boData.getByKey("orderId") def totalAmount = boData.getByKey("totalAmount") // 实现保存时,给订单主表字段 orderID和totalAmount赋予固定的数值 1000,覆盖原有数值 boData.set("orderId", "前置脚本赋值NEW_ORDER_ID") boData.set("totalAmount", 1000.00)

步骤 3:编写后置置赋值脚本
以下是给「订单金额(orderAmount)」赋值的最简示例,直接复制即可使用:
// 实现表单保存后,使用sql语句去更新customerId 客户ID的值,改为后置脚本赋值AA,表名是W_Order import com.hotent.base.manager.CommonManager import com.hotent.base.util.AppUtil def commonManager = AppUtil.getBean(CommonManager.class) def exeSql = "UPDATE W_Order SET f_customerId = '后置脚本执行成功赋值AA' " commonManager.execute(exeSql)

核心说明
boData:宏天 EIP8 内置的业务对象操作对象,必须保留,用于获取 / 设置订单主表字段值。
boData.getByKey("字段名"):获取表单原有字段值。
boData.set("字段名", 值):给字段赋值,会覆盖原有值,注意值的类型要和字段类型匹配。
try-catch:新手必加,脚本语法错误时会输出日志,方便定位问题。
四、配置验证
脚本配置完成后,按以下步骤验证是否生效:
- 保存表单设计,回到表单填报页面,随意填写基础信息(不填 orderId、totalAmount)。
- 点击「保存」按钮,提交表单。
- 验证结果:前置脚本:查看订单详情,
orderId显示「前置脚本赋值 NEW_ORDER_ID」,totalAmount显示 1000.00(覆盖原有值)。后置脚本:查询数据库W_Order表,f_customerId字段值变为「后置脚本执行成功赋值 AA」。
总结
- 宏天 低代码(EIP8) 中,前置脚本用
boData.set()给订单主表字段赋值,无需手动保存;后置脚本可通过CommonManager执行 SQL,满足自定义更新需求。 - 核心语法:
boData.getByKey/set()操作字段、AppUtil.getBean(CommonManager.class)获取 SQL 执行器、commonManager.execute()执行 SQL。 - 新手写脚本必加
try-catch和日志输出,便于调试定位问题。