在adf valuebinding中访问自定义类型的属性

时间:2013-11-19 12:16:35

标签: oracle-adf

我有以下情况:

在我的pageDef中,我使用自己的类设置变量Binding,假设以下Person类

public class Person{
    ...
    private String firstname;
    private String lastname;
    ...
    getter..
    setter..
}

所以我在我的页面中有以下条目

<variableIterator id="variables">  
  <variable Type="my.class.Person" Name="chSupCase"/>  
</variableIterator>    

现在我的问题是使用表达式语言(如

)访问attributs firstname和lasstname
#{bindings.chSupCase.lastname}

我不知道,也许这种访问是不可能的。在网络上,我找不到任何禁止访问的示例或文档。

在链接https://forums.oracle.com/message/10729238中,用户936645显示设置或访问是如何以编程方式设置的

第二个问题是我如何将属性firstname或lastname绑定到attributebinding

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

如果你想要定义一个java类,并从页面绑定中获取它的属性和方法,通过Expression Language(EL)引用,那么将bean注册为托管bean是一个很好的方法。

  1. 在任务流程中将其注册为托管bean。 adfc-config是一个很好的默认位置。

  2. 列表项一旦在任务流中注册了bean,您就应该能够编写如下表达式语言:

    {scope.beanname.attribute}

  3. 当bean现在已注册时,表达式编辑器(通过属性编辑器中字段最右侧的向下箭头访问)将为您“建议”值,您也可以从bean列表中选择这些值。表达式编辑器中的属性。 您需要在注册时选择bean的范围。默认范围是请求。我假设您了解JEE / JSP / JSF,因此您了解范围。 注册的托管bean,当用于支持或“支持”ADF Faces页面时,在某些文档中称为“Backing Bean”。但这只是一种以某种方式使用的托管bean。它仍然只是一个托管bean(托管是因为JSF'管理'bean的生命周期。它会在第一次在EL中引用时自动为你创建它。)

    这是要采取的步骤的高级概述。 我会看hereherehere - 虽然这与你想要的相反,但可能会提供一些好的背景。 This也可能会有所帮助。