You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 7
Next »
什么是哈希变量?
哈希变量 为用户提供更大的灵活性和自由从系统访问有用的信息或相关的运行时间值。
散列变量是一个特殊的散列转义关键字,可用于:
- 表单生成器
- 数据主义生成器
- Userview生成器
- 支持的插件配置属性
- 工作流设计器中的活动名称
- 将活动映射到外部表单时的外部表单URL
从Joget组件返回一些有用的运行时变量的值。
嵌套哈希变量
从版本3.0.3开始,哈希变量可以在另一个哈希变量中使用,形成一个嵌套哈希变量。
内部哈希变量的语法由一对大括号包围。
#prefix。{prefix.variableKey}#
这里有一些例子:
#date。{envVariable.dateFormat}#
#user。{} variable.username#.firstName
#form.tableChild.field1 [{form.tableParent.childId}]#
转义结果散列变量
解析/返回的哈希变量可能会导致与当前上下文/环境(如脚本中的语法错误)不兼容。因此,可以将附加参数传递给声明的散列变量来转义某些字符。
在使用散列“#”结束散列变量之前,添加一个问号字符“?” 其次是所需的格式。你可以通过定义分号来包含多个“;” 分隔值。
- 正则表达式
- JSON
- JavaScript的
- HTML
- XML
- java的
- SQL
- 网址
#envVariable.script?java的#
哈希变量列表
工作流分配散列变量
名称 | 描述 |
---|
字首 | 分配 |
描述 | 获取当前分配的工作流活动信息。 |
属性 | - #assignment.processId#
- #assignment.processDefId#
- #assignment.processName#
- #assignment.processVersion#
- #assignment.processRequesterId#
- #assignment.activityId#
- #assignment.activityName#
- #assignment.activityDefId#
- #assignment.assigneeId#
|
使用范围 | - 过程中的元素和部分。
- 活动名称。
- 表单映射为流程活动映射的一部分。
- 电子邮件工具配置作为过程工具映射的一部分
|
当前用户哈希变量
名称 | 描述 |
---|
字首 | 当前用户 |
描述 | 检索当前登录的用户信息。 |
属性 | - #currentUser.id#
- #currentUser.username#
- #currentUser.firstName#
- #currentUser.lastName#
- #currentUser.email#
- #currentUser.active#
- #currentUser.timeZone#
在Joget企业版中,这些附加属性是可用的: - 用户元 组织 部 年级 HOD - #currentUser.hod.username#
- #currentUser.hod.firstName#
- #currentUser.hod.lastName#
- #currentUser.hod.email#
- #currentUser.hod.active#
- #currentUser.hod.timeZone#
组 雇用 - #currentUser.employee.code#
- #currentUser.employee.jobTitle#
- #currentUser.employee.isHod#
HOD部门 - #currentUser.department.hod.username#
- #currentUser.department.hod.firstName#
- #currentUser.department.hod.lastName#
- #currentUser.department.hod.email#
- #currentUser.department.hod.active#
- #currentUser.department.hod.timeZone#
|
使用范围 | |
日期哈希变量
名称 | 描述 |
---|
字首 | 日期 |
描述 | 根据指定的格式获取日期时间。 |
属性 | - #日期。dateFormat#
- #日期。dateUnit [+ - ] integerValue。dateFormat #
|
使用范围 | |
示例属性 | #date.h:mm a# #date.EEE,d MMM yyyy h:mm:ss a#
#date.DAY+ 7 .EEE,d MMM yyyy h:mm:ss a#
#date.DAY- 1 .EEE,d MMM yyyy h:mm:ss a#
|
环境变量哈希变量
名称 | 描述 |
---|
字首 | envVariable |
描述 | 检索环境变量值。了解有关环境变量的更多信息。 |
属性 | |
使用范围 | - 在Joget应用程序本身的任何地方。(即流程,流程工具,表单,列表,用户视图)
|
示例属性 | #envVariable.smtpServer# #envVariable.smtpPort#
|
表单数据哈希变量
名称 | 描述 |
---|
字首 | 形成 |
描述 | 从表格中获取字段值。 |
属性 | - #from.tableName.fieldId#
- #from.tableName.fieldId [ isrecordId ]#(提供3.1以上)
|
使用范围 | - 在Process中的Process Tool部分。
- 在表单中。
- 在一个过程设计中。
|
示例属性 | #form.registration.registeredDate# //will use the current record ID
#form.registration.registeredDate[ 0001 ]# //0001 is the record ID to seek for
#form.registration.registeredDate[{variable.recordId}]#
|
应用程序消息散列变量(国际化)
名称 | 描述 |
---|
字首 | 国际化 |
描述 | 在应用程序级别支持语言本地化。 |
属性 | |
使用范围 | |
示例属性 | #i18n.logout#
|
例 | 请参阅添加消息。 |
执行者哈希变量
名称 | 描述 |
---|
字首 | performer |
描述 | 获取活动执行者的用户信息。 |
属性 | - #performer. activityDefId .id#
- #performer. activityDefId .username#
- #performer. activityDefId .firstName#
- #performer. activityDefId .lastName#
- #performer. activityDefId .email#
- #performer. activityDefId .active#
- #performer. activityDefId .timeZone#
|
使用范围 | - 过程中的元素和部分。
- 活动名称。
- 表单映射为流程活动映射的一部分。
- 电子邮件工具配置作为过程工具映射的一部分
|
示例属性 | - #performer.runProcess.firstName#
- #performer.submitLeave.firstName#
|
请求参数哈希变量
名称 | 描述 |
---|
字首 | requestParam |
描述 | 访问请求参数的值。 |
属性 | - #requestParam。parameterName [分隔符]#
- 如果在具有多个值的数据列表过滤器中使用requestParam,则可以指示分隔符(或;),以便在数据输出中定义分隔符。如果在多个值的情况下不指定分隔符,则使用逗号“,”作为默认值。
|
使用范围 | |
示例属性 | - #requestParam.key#可以专门用于获取UserView Key值。
- #requestParam.name [;]#表示“name”变量将存储以分号分隔的多个值。例如,这个SQL语句“select * from expenses where title in(#requestParam.title [,]#)”将被转换为“select * from(where a,b,c)中的标题”以满足多个值在“where-in”声明中。
- 在用户视图页面中,可以访问以下属性。
- #requestParam.key#
- #requestParam.userviewId#
- #requestParam.menuId#
- #requestParam.appId#
|
用户哈希变量
名称 | 描述 |
---|
字首 | 用户 |
描述 | 要根据用户名获取用户信息。 |
属性 | - #user. username .id#
- #user. username .username#
- #user. username .firstName#
- #user. username .lastName#
- #user. username .email#
- #user. username .active#
- #user. username .timeZone#
在Joget企业版中,这些附加属性是可用的: - 用户元 - #user. username .meta.KEY#
组织 部 - #user. username .department.id#
- #user. username .department.name#
- #user. username .department.description#
- #user. username .department.treeStructure#
年级 - #user. username .grade.id#
- #user. username .grade.name#
- #user. username .grade.description#
- #user. username .grade.organizationId#
HOD - #user. username .hod.username#
- #user. username .hod.firstName#
- #user. username .hod.lastName#
- #user. username .hod.email#
- #user. username .hod.active#
- #user. username .hod.timeZone#
组 雇用 - #user. username .employee.code#
- #user. username .employee.jobTitle#
- #user. username .employee.isHod#
HOD部门 - #user. username .department.hod.username#
- #user. username .department.hod.firstName#
- #user. username .department.hod.lastName#
- #user. username .department.hod.email#
- #user. username .department.hod.active#
- #user. username .department.hod.timeZone#
|
使用范围 | |
示例属性 | - #user.admin.email#
- #user.cat.firstName#
- #user。{requestParam.username} .email#检索通过url参数传递的用户的电子邮件地址
|
用户视图密钥哈希变量
名称 | 描述 |
---|
字首 | userviewKey |
描述 | 用户视图密钥散列变量仅用于访问当前用户视图密钥的值。 这个散列变量的典型用例是: - 滤波Datalist中基于用户视图的关键。
- 在基于UserView Key 的过程流程的Form或Form部分预加载某些表单数据字段(例如子表单)。
|
属性 | |
使用范围 | |
工作流变量哈希变量
名称 | 描述 |
---|
字首 | 变量 |
描述 | 在Process Flow中获取工作流程变量的值。 |
属性 | |
使用范围 | - 过程中的元素和部分。
- 活动名称。
- 表单映射为流程活动映射的一部分。
- 电子邮件工具配置作为过程工具映射的一部分
|
示例属性 | #variable.approvalStatus# |
请求哈希变量
名称 | 描述 |
---|
字首 | 请求 |
描述 | 从页面视图的当前 HttpServletRequest对象获取值 。 |
属性 | - #request.characterEncoding#
- #request.contextPath#
- #request.header.name#
name 是自定义标题名称。 - #request.locale#
- #request.method#
- #request.pathInfo#
- #request.protocol#
- #request.queryString#
- #request.remoteAddr#
- #request.requestURI#
- #request.requestURL#
- #request.requestedSessionId#
- #request.scheme#
- #request.serverName#
- #request.serverPort#
- #request.servletPath#
|
使用范围 | - App中的所有组件都有有效的HttpServletRequest对象。这样的对象不能在后台活动中使用,例如由于截止时间而触发的过程工具。
|
示例属性 |
要检索上面屏幕截图中的“Referer”标题属性值,可以使用下面的散列变量。 |
平台哈希变量
这是Joget Workflow v6中的一个新功能。
名称 | 描述 |
---|
字首 | 平台 |
描述 | 检索特定于平台的信息。 |
属性 | #platform.name# #platform.version# #platform.jdbcDriver# #platform.setting.dataFileBasePath# #platform.setting.deadlineCheckerInterval# #platform.setting.defaultUserview# #platform.setting.fileSizeLimit# #platform.setting.landingPage# #platform.setting.systemDateFormat# #platform.setting.systemLocale# #platform.setting.systemTimeZone#
在Joget企业版中,这些附加属性是可用的: - #platform.license.name# #platform.license.holder# #platform.license.users# #platform.license.appLimit# #platform.license.expiry# #platform.license.activated# #platform.systemKey#
|
使用范围 | |
Bean Shell哈希变量
这是Joget Workflow v6中的一个新功能。
名称 | 描述 |
---|
字首 | BeanShell的 |
描述 | 使用环境变量来执行bean shell脚本。使用URL查询字符串语法传递参数。 |
属性 | |
ScopeofUse | |
示例属性 | 使用参数“username”和“dept”执行存储在“welcome”环境变量中的脚本:
if (username != null && username.length == 1 && !username[0].isEmpty()) {
return "Welcome " + username[0] + " (" + dept[0] + "),";
} else {
return "";
}
|