使用普通的HTML按钮在JavaScript中调用托管bean方法

Vij*_*amy 2 primefaces jsf-2

我需要在JavaScript中调用托管bean方法,同时单击普通的HTML按钮.如果我使用JSF2.x和Primefaces,是否可以这样做?

sku*_*sel 6

对的,这是可能的.Primefaces为其组件提供了一个有用的钩子<p:remoteCommand>.它基本上为您提供了一个javascript函数,可以与您的bean进行通信.

基本用法示例:

风景:

<p:remoteCommand name="remote" actionListener="#{bean.listener}" update="text"/>
<h:outputText id="text" value="#{bean.text}/>
<div onclick="remote()">...<div>
Run Code Online (Sandbox Code Playgroud)

豆子:

private String text = "Starting text";//getter + setter

public void listener(ActionEvent event) {
    text = "Text was changed via remote command";
}
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,只要<div>单击您的远程命令就会执行.当然,可以通过单击按钮调用相同的功能.

另外,查看Primefaces文档是明智的.