2013-03-01 64 views
2

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

+0

你是什么意思的'调用管理bean api'? – SRy 2013-03-01 07:01:19

+0

如果我点击html按钮,我需要调用JSF的managedbean的方法。 – 2013-03-01 07:11:33

+0

为什么你不想使用''而不是普通的按钮? – SRy 2013-03-01 07:13:23

回答

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是明智的。

+0

感谢您的回复........ – 2013-03-01 11:05:59

+0

不客气! – skuntsel 2013-03-01 11:08:30

+0

很棒的回答。花了一段时间,我发现一个javascript函数是基于您指定的p:remoteCommand名称自动创建的,并且它必须与div onclick方法匹配...... btw您可以将名称“remote”更改为任意你想要的名字,用于创建多个命令。 – fuzzyanalysis 2014-12-28 15:27:13