【发布时间】:2012-07-23 19:22:30
【问题描述】:
如何在 PrimeFaces 中从 Javascript 调用 bean 方法?
我有以下菜单项:
<p:menuitem id="toggleAlarms" icon="ui-icon-cancel" rendered="#{navigationBean.admin}" value="Cancel Alert" update=":alarmMessages" action="#{alarmsBean.toggleAlertOff()}"/>
当我在 UI 中单击该项目时,该方法被调用。
但是当我有这个元素时:
<p:messages id="alarmMessages">
<script>
jQuery('#alarmMessages').effect("pulsate", {times:5}, 1000 );
jQuery('#alarmMessages').show();
$('#alarmMessages').click(function() {
jQuery('#toggleAlarms').click();
alert('fool');
})
</script>
</p:messages>
如果我单击 UI 上的消息对象,我可以看到带有傻瓜的警报消息。
但是,我从未见过 toggleAlarms.click() 方法调用 alarmsBean.toggleAlertOff() 调用。
我是不是做错了什么?
【问题讨论】:
-
在渲染页面“查看源码”时,messages组件的id是什么?是“toggleAlarms”还是其他东西,例如“形式:toggleAlarms”?您可能没有传递正确的组件 ID。
标签: jsf-2 primefaces