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

我更喜欢这种解决方案-

p:commandLink ajax events inside of a p:dataTable

它的工作很好。由于它位于dataTable内部,因此在这里我们将获得多个remoteCommand。如果我想对命令链接的每个ajax调用都使用单个remotecommand,那我该怎么做。

最佳答案

在这种情况下,您应该调用由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();


也可以看看:


JSF PrimeFaces inputText inside dataTable

07-24 15:51