我有一个声明性组件,其中组件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);}
这种方法有什么问题吗?解决此问题的推荐方法是什么? 如果有人可以帮助我们,那就太好了。