关于更改视图中的信息(而不是转到不同的 .xhtml 页面)的初学者问题。我的 .xhtml 显示一个数据表(显示人员列表),但我希望用户能够通过在输入文本中输入某人姓名的开头然后单击命令按钮来缩小显示的信息量。commandbutton 和 datatable 都执行相同的 bean 方法,但如果 inputtext 有数据,则 sql 使用 Like(这使用 jdbc)。我的表单如下,问题是我得到一个“无法找到与 from-view-id 匹配的导航案例”,因为我的托管 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>