我有一个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