有关在视图中更改信息(而不是转到其他.xhtml页面)的初级问题。我的.xhtml显示一个datatable(显示人员列表),但我希望用户能够通过在输入文本中输入某人姓名的开头,然后单击commandbutton来缩小显示的信息量。 commandbutton和datatable都执行相同的bean方法,但是如果inputtext有数据,sql使用Like(这使用jdbc)。我的表单在下面,问题是我得到一个“无法找到匹配的导航案例与从视图ID”,因为我的管理bean返回的对象列表,而不是“成功”或“失败”。而且,整个表格看起来效率低下。这似乎是一个相当常见的情况 - 调用托管bean的方法返回对象而不是导航指令。我如何摆脱错误信息?有一个更好的方法吗?当bean返回对象时导航
这里是代码:
<h:head>
<h:outputStylesheet library="css" name="table-style.css" />
</h:head>
<h:body>
<h1>MavenWeb</h1>
<h:form>
<h:panelGrid columns="3">
Select a customer:
<h:inputText id="listName" value="#{customer.listName}"
size="20" >
</h:inputText>
<h:commandButton value="Submit"
action="#customer.getCustomerList()}" />
</h:panelGrid>
<h:dataTable value="#{customer.getCustomerList()}" var="c"
styleClass="order-table"
headerClass="order-table-header"
rowClasses="order-table-odd-row,order-table-even-row"
>
<h:column>
<f:facet name="header">
Customer ID
</f:facet>
#{c.customerID}
</h:column>
<h:column>
<f:facet name="header">
Name
</f:facet>
#{c.name}
</h:column>
<h:column>
<f:facet name="header">
Address
</f:facet>
#{c.address}
</h:column>
<h:column>
<f:facet name="header">
Created Date
</f:facet>
#{c.created_date}
</h:column>
</h:dataTable>
</h:form>
</h:body>
谢谢Luiggi。我做了更改,但得到:malformed xml无法获取属性值removechild对象为null或未定义。有任何想法吗? – Dave 2012-07-27 15:19:18
这是一个非常奇怪的错误。试着通过评论部分代码来检测你的xhtml的哪一部分给你这个错误,然后取消注释(也许错误不在我发布的代码片段中)。当你发现真正的错误时,更新你的问题,并留下评论,给你一个更好的指导。 – 2012-07-27 15:25:19
从互联网上我发现它与f:ajax声明有关。我将其删除,异常消失。顺便说一句,我正在Eclipse中查看页面,而不是IE9。 – Dave 2012-07-27 15:36:51