我有一个页面,当我选择文件夹名称时,我会填充两个组件(<p:selectManyMenu>
和<p:pickList>
)。如何调用两个动作?
<p:selectOneMenu id="dirObj"
value="#{patchMB.patchBean.directoryObjetos}"
style="width: 350px">
<p:message for="dirObj"/>
<f:selectItem itemLabel="Selecione" itemValue="Select"/>
<f:selectItems value="#{patchMB.dirObjects}"/>
<f:ajax event="change" listener="#{patchMB.loadFiles}" render="pickListArq"/>
</p:selectOneMenu>
我可以使用两个<f:ajax>
个事件代码吗?我试过了,似乎它正在执行每个监听器2次。
这是第二个动作的代码:
<f:ajax event="change"
listener="#{patchMB.carregarSelectMany}"
render="objSelectMany" />
答案 0 :(得分:0)
为什么你需要两个ajax调用?仅使用一个操作无法弹出两个组件? 你把第二个ajax事件放在哪里了?
如果你想在同一个动作上执行两个不同的方法,你可以使用一个ajax调用,并将method2
的逻辑放在method1
中。
否则,还要评估使用valueChangeListener,它与ajax更改相比具有不同的行为。阅读这篇文章的更多内容: When to use valueChangeListener or f:ajax listener?