我有一个p:dataTable,其中包含p:commandLink。我需要在mouseover事件上使用参数进行ajax调用。我发现commandLink无法通过mouseover事件调用ajax。我们必须使用remotecommand来实现此功能。
我更喜欢这个解决方案 -
p:commandLink ajax events inside of a p:dataTable
它的工作很好。由于它的内部dataTable,这里我们将获得多个remoteCommand。如果我想为命令链接的每个ajax调用使用单个remotecommand,我必须做什么。
答案 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();
另见: