我有一个p:dataTable,其中包含p:commandLink。我需要在鼠标悬停事件上做ajax调用参数。我发现commandLink不能通过鼠标悬停事件进行ajax调用。我们必须使用远程命令来实现这个功能。
我更喜欢这个解决方案-
p:commandLink ajax事件在p:dataTable
工作得很好。由于它在dataTable中,这里我们将获得多个remoteCommand。如果我想使用单个远程命令为每个ajax调用的命令链接我必须做的。
在这种情况下,你应该调用JavaScript函数,由p:remoteCommand
创建的参数表明你的数据(它可以是例如你的模型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 inputttext inside dataTable