ADF:如何将每个属性的附加信息从AM传递到UI

时间:2015-08-21 16:37:09

标签: oracle-adf

Jdeveloper版本:12.1.3(构建JDEVADF_12.1.3.0.0_GENERIC_140521.1008.S)。

我们有一个用例,我需要将每个VO属性的附加信息从AMImpl传递给UI(jspx / jsff) 例如, EmployeeVO   -名字   -姓   -电子邮件   -PhoneNumber

在UI中呈现时,对于每个属性,我需要传递状态信息(不会在数据库中保留。它根据某些功能计算出的信息)

有没有办法将这些附加信息从AMImpl传递给UI?

提前致谢。 Rakesh Patsalla

1 个答案:

答案 0 :(得分:1)

在AM之外执行此操作的一种方法是为要传递其他信息的每个视图对象创建ViewRowImpl,并在视图中创建包含状态信息的瞬态属性。在ViewRowImpl中每个属性(FirstName,LastName等)的getter中,您可以获取当前行的View中其他属性中的数据库值,以及调用方法以获取该行的计算值。您可以通过从执行方法调用的目标属性的getter中调用其setter来将计算值存储在transient属性中。然后,将瞬态属性添加到UI。例如,在ViewRowImpl:

public String getFirstName {
  String tmpFirstName = (String)getAttributeInternal(FIRSTNAME);
  String calculatedVal1 = myMethod(tmpFirstName);
  setTransientAttribute1(calculatedVal1);
  return (String)getAttributeInternal(FIRSTNAME);
}