【发布时间】:2013-07-16 09:10:50
【问题描述】:
我有
<p:remoteCommand name="updateSelectedTarget" update="partToUpdate" actionListener="#{bean.onSelectedTarget}"/>
bean.java
public void onSelectedTarget() {
System.out.println("here");
}
使用此配置,操作只会触发一次。我需要使用 actionListener 还是 action?和remoteCommand的进程参数有关系吗?
我只想补充一点,它以前可以工作。我只是更改了下面的更新部分
<h:panelGroup id="partToUpdate" layout="block">
<p:panelGrid rendered="#{bean.selectedTarget == null ? false : true}">
...
<h:selectOneMenu value="#{bean.stuffID}">
...
</h:selectOneMenu>
...
</p:panelGrid>
</h:panelGroup>
在只有一个 ID 之前 selectOneMenu
<h:selectOneMenu value="#{bean.stuffID}">
现在我有了对象
<h:selectOneMenu value="#{bean.stuff}">
【问题讨论】:
-
我很确定使用带有 selectOneMenu 的转换器会有一些问题,但我无法使其工作。
-
remoteCommand 实际上应该做什么?您在 xhtml 中的哪个位置定义 remoteCommand?您是否收到任何错误(JavaScript 或 Java)?你能在浏览器网络日志中看到一个 ajax 请求吗?
-
remoteCommand 应该更新我的页面以显示或不显示页面的一部分。因此,该操作更改了我的 bean 的属性,并且我的页面有一个组件,该组件仅在此属性为 true 时才呈现。 remoteCommand 在页面末尾定义,我在 chrome 的控制台中没有 Java 错误或 Javascripts 错误。
标签: jsf primefaces