Versions Compared

Key

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

...

Code Block
languagejava
titleSyntax / Format
#prefix.{prefix.variableKey}#
这里有一些例子:
Code Block
titleExample
#date.{envVariable.dateFormat}#
#user.{variable.username}.firstName#
#form.tableChild.field1[{form.tableParent.childId}]#

 

...

解析/返回的哈希变量可能会导致与当前上下文/环境(如脚本中的语法错误)不兼容。因此,可以将附加参数传递给声明的哈希变量来转义某些字符。

在使用散列“#”结束散列变量之前,添加一个问号字符“?”并紧接着其所需的格式。你可以通过定义分号“在使用散列“#”结束散列变量之前,添加一个问号字符“?”并紧接着其所需的格式。你可以通过定义分号“;”来包含多个分隔值  。

  1. regx - 用于转义正则表达式特殊字符
  2. json - 用于转义JSON特殊字符
  3. javascript - 用于转义Javascript特殊字符
  4. html - 用于转义HTML特殊字符
  5. xml - 用于转义XML特殊字符
  6. java - 用于转义Java特殊字符
  7. sql - 用于转义SQL特殊字符
  8. url - 用于转义URL特殊字符
  9. nl2br - 用于将新行字符转换为<br> HTML标记
  10. 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.meta.KEY#

组织

  • #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
titleLocalization

在Joget Workflow v5中,返回的值将跟随当前登录用户的时区。如果用户的信息不可用,那么它将使用服务器的时区。

属性
  • #date#date.dateFormat#  
  • #date#date.dateUnit [+ - ] integerValue.dateFormat#
Info
titleOptions

日期格式

  • Java日期格式:例如, yyyy-MM-dd 代表 2011-06-01

dateUnit

  • YEAR
  • MONTH
  • DAY  

integerValue

  • 数字整数值。例如10
使用范围
  • 应用程序中的所有组件。
示例属性#date.h:mm a# // 12:08 PM
#date.EEE,d MMM yyyy h:mm:ss a# // Wed, 4 Jul 2014 12:08:56 PM
#date.DAY+7.EEE,d MMM yyyy h:mm:ss a# // Add 7 days on top of current date time - Wed, 11 Jul 2014 12:08:56 PM
#date.DAY-1.EEE,d MMM yyyy h:mm:ss a# // Minus 1 days on top of current date time - Wed, 3 Jul 2014 12:08:56 PM

...

名称描述
字首envVariable
描述

检索环境变量值。了解有关环境变量的更多信息。    

属性
  • #envVariable.keyName#  
使用范围
  • 在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. keyName #
使用范围
  • 应用程序中的所有组件。
示例属性

#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#
使用范围
  • 过程中的元素和部分。
    1. 活动名称。
    2. 表单映射为流程活动映射的一部分。
    3. 电子邮件工具配置作为过程工具映射的一部分
Info

要获取activityDefId(活动定义ID),请在“活动映射”选项卡(工作流程管理控制台)中将活动名称鼠标悬停; 会有覆盖显示ID。

Warning

所选择的活动必须已经执行。

示例属性
  • #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#  
使用范围
  • 过程中的元素和部分。
    1. 活动名称。
    2. 表单映射为流程活动映射的一部分。
    3. 电子邮件工具配置作为过程工具映射的一部分
示例属性#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
titleHash Variable
#request#request.header.Referer#Referer#

平台哈希变量

Panel
borderColorred
borderWidth1
titleBGColor#ffcccc
borderStylesolid
titleNew Feature

这是Joget Workflow v6中的一个新功能。

...

名称描述
字首BeanShell
描述使用环境变量来执行bean shell脚本。使用URL查询字符串语法传递参数。
属性
  • #beanshell#beanshell.ENVIRONMENT_VARIABLE#VARIABLE#

  • #beanshell#beanshell.ENVIRONMENT_VARIABLE# VARIABLE [PARAMETERS_URL_QUERY_STRING]#

适用范围
  • 应用程序中的所有组件
示例

使用参数 “username” 和 “dept” 执行存储在“welcome”环境变量中的脚本:

Code Block
languagejava
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}]#