如何在Oracle ADF中使用声明组件中的<f:attribute>传递属性?</f:attribute>

时间:2015-03-10 10:53:23

标签: oracle-adf

我有一个声明性组件,其中组件ui是在运行时根据传递给标记的参数生成的。

你可以看到我在#{attrs.innerObject}

中有一个字符串值
<af:panelGroupLayout id="dc_pgl1" layout="horizontal">
<af:inputText id="date_input" value="#{attrs.value}" maximumLength="10" 
                contentStyle="width:#{attrs.width}px; text-align:center;" immediate="true" autoSubmit="true"  
                valueChangeListener="#{component.handleValueChangeListener}">
    <f:attribute name="innerObject" value="#{attrs.innerObject}"/>
</af:inputText>

<af:image id="date_btn" source="/images/calendar1.png" >
    <af:clientListener method="executeSelection" type="mouseOver"/>
</af:image>

创建Adf jar库并将该jar添加到项目后,我使用此声明性组件,如下所示:

<isc:persianCalendar value="1393/12/01" width="150" valueChangeListener="#{test.xyz}" innerObject="123"/> 

但属性映射不包含innerObject。

public void xyz(ValueChangeEvent valueChangeEvent) {
    Object innerObject = (Object) valueChangeEvent.getComponent().getAttributes().get("innerObject");
    System.out.println("innerObject : "+ innerObject);}

这种方法有什么问题吗?解决此问题的推荐方法是什么? 如果有人可以帮助我们,那就太好了。

0 个答案:

没有答案