以下是我的JSF页面。
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Test page</title>
</h:head>
<h:body>
<p:dataTable var="order" value="#{orderBean.orderList}"
selection="#{orderBean.currentOrder}"
selectionMode="single">
<p:column>
#{order.customerId.name}
</p:column>
</p:dataTable>
</h:body>
</html>
我想在数据表中添加rowSelectListener。但是,我的Netbeans IDE无法将其识别为p:dataTable的有效属性。此外,它似乎也没有编译。在侦听器中调用的方法不称为
rowSelectListener="#{orderBean.onRowSelect}"
我正在使用JSF 2.2(Mojarra 2.2.7)和Primefaces 5.0
答案 0 :(得分:1)
这是因为primefaces数据表没有rowSelectionListener
。
你必须像这样使用Ajax:
<p:ajax event="rowSelect" listener="#{dtSelectionView.onRowSelect}" update=":form:msgs" />
<p:ajax event="rowUnselect" listener="#{dtSelectionView.onRowUnselect}" update=":form:msgs" />
提供更多信息here