1

我有包含 p:commandLink 的 ap:dataTable。我需要在鼠标悬停事件上使用参数进行 ajax 调用。我发现 commandLink 无法通过 mouseover 事件进行 ajax 调用。我们必须使用远程命令来实现此功能。

我更喜欢这个解决方案-

ap:dataTable 中的 p:commandLink ajax 事件

它工作得很好。由于它在dataTable里面,这里我们会得到多个remoteCommand。如果我想对命令链接的每个 ajax 调用使用单个远程命令,我必须做什么。

4

1 回答 1

4

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

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

这会将名为的附加参数传递muData给您的侦听器。您可以通过以下方式获取该参数:

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

也可以看看:

于 2013-03-08T07:51:13.093 回答