如何为p:remoteCommand ajax调用传递动态值?

时间:2013-03-08 06:31:03

标签: javascript jquery jsf xhtml primefaces

我有一个p:dataTable,其中包含p:commandLink。我需要在mouseover事件上使用参数进行ajax调用。我发现commandLink无法通过mouseover事件调用ajax。我们必须使用remotecommand来实现此功能。

我更喜欢这个解决方案 -

p:commandLink ajax events inside of a p:dataTable

它的工作很好。由于它的内部dataTable,这里我们将获得多个remoteCommand。如果我想为命令链接的每个ajax调用使用单个remotecommand,我必须做什么。

1 个答案:

答案 0 :(得分:4)

在这种情况下,您应该调用由p:remoteCommand创建的JavaScript函数,该函数带有指示您数据的参数(例如,它可以是模型bean的主键或可以识别对象的东西):

onmouseover="rc([{ name: 'myData', value: #{data.code} }])"

这会将名为muData的其他参数传递给您的侦听器。您可以使用以下命令获取该参数:

FacesContext context = FacesContext.getCurrentInstance();
Map map = context.getExternalContext().getRequestParameterMap();
String code = map.get("myData").toString();

另见: