...
Code Block |
---|
language | java |
---|
title | Syntax / Format |
---|
|
#prefix.{prefix.variableKey}## |
这里有一些例子:
Code Block |
---|
|
#date.{envVariable.dateFormat}##
#user.{variable.username}.firstName#
#form.tableChild.field1[{form.tableParent.childId}]# |
...
解析/返回的哈希变量可能会导致与当前上下文/环境(如脚本中的语法错误)不兼容。因此,可以将附加参数传递给声明的哈希变量来转义某些字符。
在使用散列“#”结束散列变量之前,添加一个问号字符“?”并紧接着其所需的格式。你可以通过定义分号“在使用散列“#”结束散列变量之前,添加一个问号字符“?”并紧接着其所需的格式。你可以通过定义分号“;”来包含多个分隔值 。
- regx - 用于转义正则表达式特殊字符
- json - 用于转义JSON特殊字符
- javascript - 用于转义Javascript特殊字符
- html - 用于转义HTML特殊字符
- xml - 用于转义XML特殊字符
- java - 用于转义Java特殊字符
- sql - 用于转义SQL特殊字符
- url - 用于转义URL特殊字符
- nl2br - 用于将新行字符转换为<br> HTML标记
- separator(SEPARATOR_CHARS) - 用于更改默认分隔符 “;” 到 SEPARATOR_CHARS。例如 ?separator(, ) ,会使 "abc;def" 变成 "abc,def"。
...
名称 | 描述 |
---|
字首 | currentUser |
描述 | 获取当前登录的用户信息 |
属性 | - #currentUser#currentUser.id#id##currentUser
- #currentUser.username#username#
- #currentUser#currentUser.firstName#firstName##currentUser
- #currentUser.lastName#lastName#
- #currentUser#currentUser.email#email##currentUser
- #currentUser.active#active#
- #currentUser#currentUser.timeZone#timeZone#
在Joget企业版中,这些附加属性是可用的: - 用户元 组织 - #currentUser#currentUser.organization.id#id##currentUser
- #currentUser.organization.name#name#
- #currentUser#currentUser.organization.description#description#
部 - #currentUser#currentUser.department.id#id##currentUser
- #currentUser.department.name#name#
- #currentUser#currentUser.department.description#description##currentUser
- #currentUser.department.treeStructure#treeStructure#
年级 - #currentUser#currentUser.grade.id#id##currentUser
- #currentUser.grade.name#name#
- #currentUser#currentUser.grade.description#description##currentUser
- #currentUser.grade.organizationId#organizationId#
HOD - #currentUser#currentUser.hod.username#username##currentUser
- #currentUser.hod.firstName#firstName#
- #currentUser#currentUser.hod.lastName#lastName##currentUser
- #currentUser.hod.email#email#
- #currentUser#currentUser.hod.active#active##currentUser
- #currentUser.hod.timeZone#timeZone#
组 - #currentUser#currentUser.groups.id#id##currentUser
- #currentUser.groups.name#name#
雇用 - #currentUser#currentUser.employee.code#code##currentUser
- #currentUser.employee.jobTitle#jobTitle#
- #currentUser#currentUser.employee.isHod#isHod#
HOD部门 - #currentUser#currentUser.department.hod.username#username##currentUser
- #currentUser.department.hod.firstName#firstName#
- #currentUser#currentUser.department.hod.lastName#lastName##currentUser
- #currentUser.department.hod.email#email#
- #currentUser#currentUser.department.hod.active#active##currentUser
- #currentUser.department.hod.timeZone#timeZone#
|
使用范围 | |
日期哈希变量
名称 | 描述 |
---|
字首 | date |
描述 | 根据指定的格式获取 日期时间。 Info |
---|
| 在Joget Workflow v5中,返回的值将跟随当前登录用户的时区。如果用户的信息不可用,那么它将使用服务器的时区。 |
|
属性 | - #date#date.dateFormat##
- #date#date.dateUnit [+ - ] integerValue.dateFormat##
Info |
---|
| 日期格式 - Java日期格式:例如, yyyy-MM-dd 代表 2011-06-01
dateUnit integerValue |
|
使用范围 | |
示例属性 | #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#
|
...
名称 | 描述 |
---|
字首 | form |
描述 | 从 表单(数据表)中 获取 字段值。 |
属性 | - #from#from.tableName.fieldId##
- ##from.tableName.fieldId [ recordId ]#(3#(3.1以上版本)
|
使用范围 | - 在Process中的Process Tool部分。
- 在表单中。
- 在流程设计中。
|
示例属性 | #form.registration.registeredDate# //will use the current record ID #form.registration.registeredDate[ 0001 ]# //registration 表中ID为0001的registeredDate值
#form.registration.registeredDate[{variable.recordId}]#
|
...
名称 | 描述 |
---|
字首 | i18n |
描述 | 在应用程序级别支持语言本地化。 |
属性 | |
使用范围 | |
示例属性 | #i18n#i18n.logout#logout#
|
例 | 请参阅 添加消息。 |
执行者哈希变量
名称 | 描述 |
---|
字首 | performer |
描述 | 获取活动执行者的用户信息。 |
属性 | - #performer. activityDefId .id#
- #performer. activityDefId .username#
- #performer. activityDefId .firstName#
- #performer. activityDefId .lastName#
- #performer. activityDefId .email#
- #performer. activityDefId .active#
- #performer. activityDefId .timeZone#
|
使用范围 | - 过程中的元素和部分。
- 活动名称。
- 表单映射为流程活动映射的一部分。
- 电子邮件工具配置作为过程工具映射的一部分
Info |
---|
要获取activityDefId(活动定义ID),请在“活动映射”选项卡(工作流程管理控制台)中将活动名称鼠标悬停; 会有覆盖显示ID。 |
|
示例属性 | - #performer#performer.runProcess.firstName#firstName##performer
- #performer.submitLeave.firstName#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 |
描述 | 要根据用户名获取用户信息。 |
属性 | - #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# (v6)
组织 - #user. username .organization.id#
- #user. username .organization.name#
- #user. username .organization.description#
部 - #user. username .department.id#id#
- #user. username .department.name#name#
- #user. username .department.description#description#
- #user. username .department.treeStructure#treeStructure#
岗级 - #user. username .grade.id#id#
- #user. username .grade.name#name#
- #user. username .grade.description#description#
- #user. username .grade.organizationId#organizationId#
HOD(部门负责人) - #user. username .hod.username#username#
- #user. username .hod.firstName#firstName#
- #user. username .hod.lastName#lastName#
- #user. username .hod.email#email#
- #user. username .hod.active#active#
- #user. username .hod.timeZone#timeZone#
组 雇用 - #user. username .employee.code#code#
- #user. username .employee.jobTitle#jobTitle#
- #user. username .employee.isHod#isHod#
部门HOD - #user. username .department.hod.username#username#
- #user. username .department.hod.firstName#firstName#
- #user. username .department.hod.lastName#lastName#
- #user. username .department.hod.email#email#
- #user. username .department.hod.active#active#
- #user. username .department.hod.timeZone#timeZone#
|
使用范围 | |
示例属性 | - #user#user.admin.email#email#
- #user#user.cat.firstName#firstName#
- #user.{requestParam.username} .email#检索通过url参数传递的用户的电子邮件地址email#检索通过url参数传递的用户的电子邮件地址
|
Userview Key哈希变量
名称 | 描述 |
---|
字首 | userviewKey |
描述 | 用户视图密钥散列变量仅用于访问当前用户 Userview Key。 这个哈希变量的典型用例是: - 数据列表 基于用户视图的关键字段。
- 在基于UserView Key 的过程流程的表单或表单分区预加载某些表单数据字段(例如子表单)。
|
属性 | - #userviewKey##userviewKey#
|
使用范围 | |
工作流变量哈希变量
名称 | 描述 |
---|
字首 | variable |
描述 | 在Process Flow中获取工作流程变量的值。 |
属性 | - ##variable.variableName##
|
使用范围 | - 过程中的元素和部分。
- 活动名称。
- 表单映射为流程活动映射的一部分。
- 电子邮件工具配置作为过程工具映射的一部分
|
示例属性 | #variable#variable.approvalStatus#approvalStatus# |
请求哈希变量
名称 | 描述 |
---|
字首 | request |
描述 | 从页面视图的当前 HttpServletRequest对象获取值 。 |
属性 | - #request.characterEncoding#
- #request.contextPath#
- #request.header.NAME# , NAME 是客户化 header 名称.
- #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”标题属性值,可以使用下面的散列变量。 Code Block |
---|
| #request#request.header.Referer#Referer# |
|
平台哈希变量
Panel |
---|
borderColor | red |
---|
borderWidth | 1 |
---|
titleBGColor | #ffcccc |
---|
borderStyle | solid |
---|
title | New Feature |
---|
|
这是Joget Workflow v6中的一个新功能。 |
...
名称 | 描述 |
---|
字首 | BeanShell |
描述 | 使用环境变量来执行bean shell脚本。使用URL查询字符串语法传递参数。 |
属性 | |
适用范围 | |
示例 | 使用参数 “username” 和 “dept” 执行存储在“welcome”环境变量中的脚本: Code Block |
---|
| if (username != null && username.length == 1 && !username[0].isEmpty()) {
return "Welcome " + username[0] + " (" + dept[0] + "),";
} else {
return "";
} |
- #beanshell.welcome[username={currentUser.username}&dept={currentUser.department.name}]#
|