当我在我的primefaces数据表中选择行高度时,但是没有调用选择事件,并且所选择的行数据不会进入它。另外我注意到我的eclipse调试器似乎只是挂在PrimeFaces上,其他人都注意到了这一点?下面是我的.xhtml。
<?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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
>
<h:head>
<h:outputStylesheet library="css" name="table-style.css" />
</h:head>
<h:body>
<center>
<p:dataTable var="user" value="#{customer.getCustomerList()}"
selection="#{customer.selectedCustomer}" selectionMode="single"
rowSelectListener="#{custmoer.onUserSelect}" onRowSelectUpdate="userUpdateForm"
onRowUnselectUpdate="userUpdateForm"
paginator="true" rows="5" rowKey="#{user.customerID}" >
<p:column>
<f:facet name="header">
<h:outputText value="Id" />
</f:facet>
<h:outputText value="#{user.customerID}" />
</p:column>
<p:column >
<f:facet name="header">
<h:outputText value="Name" />
</f:facet>
<h:outputText value="#{user.name}" />
</p:column>
<p:column >
<f:facet name="header">
<h:outputText value="Address" />
</f:facet>
<h:outputText value="#{user.address}" />
</p:column>
</p:dataTable>
<p:inputText id="userUpdateForm" value="#{customer.selectedCustomer.name}" />
</h:form>
</center>
</h:body>
答案 0 :(得分:0)
你的onXXX属性绑定到不透明的字符串,当它们被绑定到javascript片段(方法调用或执行某些代码的片段)时。我猜javascript正在抛出异常,并且没有任何东西被发送到服务器,因为浏览器中的执行停止了。
答案 1 :(得分:0)
将<p:datatable>
放入<h:form>
组件。
可能这只是您帖子中缺少的<h:form>
开始标记(包含</h:form>
结束标记)。但是忘记将数据发布组件包装到<h:form>
中是一个常见错误,会导致您所描述的症状。
答案 2 :(得分:0)
似乎问题是IE9。问题在Firefox上消失了。
答案 3 :(得分:0)
如果数据表中存在另一个问题,例如在我的情况下表格是可编辑的,但是在我添加了选择也开始工作之后我没有添加editMode属性,就会发生这种情况。