我需要在单击普通HTML按钮的同时在JavaScript中调用托管bean方法。如果我使用JSF2.x和Primefaces,可以这样做吗?
答案 0 :(得分:6)
是的,有可能。 Primefaces为其组件<p:remoteCommand>
提供了一个有用的钩子。它基本上为您提供了一个能够与您的bean通信的javascript函数。
基本用法示例:
观点:
<p:remoteCommand name="remote" actionListener="#{bean.listener}" update="text"/>
<h:outputText id="text" value="#{bean.text}/>
<div onclick="remote()">...<div>
豆子:
private String text = "Starting text";//getter + setter
public void listener(ActionEvent event) {
text = "Text was changed via remote command";
}
在上面的示例中,只要单击<div>
,就会执行远程命令。当然,可以通过单击按钮来调用相同的功能。
另外,最好查看Primefaces documentation。