bco 发表于 2017-5-24 08:39:05

EBS OAF 12.2开发中对EL(ExpressionLanguage)的支持

  EBS OAF 12.2开发中对EL(ExpressionLanguage)的支持
  概览
  Expression language(EL)是一种脚本语言,它可以使你通过JSP更容易访问和操作Java应用数据。在R12.2中,EL得到了增强以支持更多的属性,更多的EL类型,在EL中操作符的使用,在EL中静态文本的连接使用。
  注意:在12.2之前,对EL的支持叫做SPEL(Simplest Possible Expression Language)支持,其中支持的EL类型和EL属性都属于现在EL的一部分。
  内容
  l  支持的EL类型
  l  在EL中使用操作符
  l  使用EL绑定静态文本
  l  EL支持的属性
  支持的EL类型
  下面的表中描述了OAF支持的EL类型。
  EL 类型
  描述
  ${oa.<ViewInstance>.<ViewAttr>}
  等于<ViewInstance>.getAttribute("<ViewAttr>").
  ${oa.current.<ViewAttr>}
  等于对于当前bean绑定的视图对象实例调用getAttribute("<ViewAttr>").
  ${oa.encrypt.<ViewInstance>.<ViewAttr>}
  返回<ViewInstance>.getAttribute("<ViewAttr>")加密后的值。
  ${oa.FunctionSecurity.<FunctionName>}
  依赖于FunctionName是否分配给当前用户而返回true或者false.
  ${oa.request.<paramName>}
  等于pageContext.getParameter("<paramName>").
  ${oa.session.<paramName>}
  等于pageContext.getSessionValue("<paramName>").
  ${oa.sessiondirect.<paramName>}
  等于pageContext.getSessionValueDirect("<paramName>").
  ${oa.txn.<paramName>}
  等于pageContext.getTransactionValue("<paramName>").
  ${oa.txntrans.<paramName>}
  等于pageContext.getTransactionTransientValue("<paramName>").
  ${oa.pageContext.<methodName>}
  等于pageContext.<methodName>().
  注意:使用这个EL语法的时候,仅public的无参数的方法可以被调用。
  ${oa.class.<className>.<methodName>}
  调用指定类中的方法.
  注意:
  l  <className>必须是一个完全有效的类名。
  l  类必须有无参构造器
  l  使用这个EL语法的时候,仅public的无参数的方法可以被调用
  在EL中使用操作符
  在EL表达式中可以使用下面的操作符。
  l  +
  l  -
  l  *
  l  /
  l  %
  l  > 
  l  >=
  l  < 
  l  <=
  l  ==
  l  !=
  l  &&
  l  ||
  使用说明:
  l  使用oa.boolean.false或者oa.boolean.true分别来表示Boolean.FALSE或者Boolean.TRUE.
  l  对于否定或者!(NOT)操作符,使用oa.boolean.false,就像示例中演示的${oa.session.isItemRendered== oa.boolean.false}.。
  l  对于EL表达式:
  Ø  你可以仅指定一个静态的数字值。
  Ø  使用${oa.text.<TEXT>}来代表一个字符串.
  Ø  使用oa.boolean.false 或者oa.boolean.true来代表Boolean.
  使用示例

[*]${oa.session.param1 == oa.request.param1}
[*]${oa.session.paramLength + ( oa.request.fieldLength * 2 ) }
[*]${oa.session.isItemRendered == oa.boolean.false}
  在EL中连接静态文本
  使用语法${oa.text.<TEXT>}来把静态文本追加在EL表达式之前或之后。
  使用说明
  l  注意:如果你添加静态文本到EL表达式,注意静态文本不会被翻译,并且文本的顺序依赖于语言可能差别很大。
  l  你可以以任意顺序附加文本到EL表达式,就像这些示例演示的,这里${EL}代表任意有效的EL类型:
  Ø  ${oa.text.<TEXT>} + ${EL}
  Ø  ${EL}+ ${oa.text.<TEXT>}+ ${EL}
  使用示例
  ${oa.text.Welcome Mr.} + ${oa.EmpVO.Empname}
  EL支持的属性
  下面的区域和/或者 item属性支持EL:
  属性
  数据类型
  有效值
  Required
  String
  l  Yes
  l  No
  l  uiOnly
  l  validaterOnly
  Read Only
  Boolean
  l  Boolean.TRUE
  l  Boolean.FALSE
  Rendered
  Boolean
  l  Boolean.TRUE
  l  Boolean.FALSE
  Disabled
  Boolean
  l  Boolean.TRUE
  l  Boolean.FALSE
  Prompt
  String
  任意字符串值
  Sort Allowed
  Boolean
  l  Boolean.TRUE
  l  Boolean.FALSE
  注意:EL支持的Sort Allowed属性仅对items有效,对regions无效
  Maximum Length
  Number
  Integer.intValue()
  上面列出的所有属性,除了Disabled,可能会被个性化。更多信息,参考OA Framework Personalization Guide中的Personalizing EL-supporting Properties。
  转自:http://blog.csdn.net/tavor/article/details/19645421
页: [1]
查看完整版本: EBS OAF 12.2开发中对EL(ExpressionLanguage)的支持