BootsFaces不会从ajax渲染区域



我正试图根据表单中提供的值使用ajax(BootsFaces(来渲染数据表。不幸的是,所需的部分无法渲染。我可以看到ajax请求正在网络选项卡中进行,但它什么也不做(Area不呈现,也不调用此searchPartialBean.getSearchList()方法(。下面是我的代码片段。我做这件事的方式有什么问题吗?

<b:tab title="Search">
<h:form>
<b:row>
<b:column mediumScreen="7">
<b:inputText placeholder="Telephone number" label="Telephone number"
value="#{searchPartialBean.telephoneNumber}"/>
<b:inputText placeholder="First name" label="First Name"
value="#{searchPartialBean.firstName}"/>
<b:inputText placeholder="Last name" label="Last Name"
value="#{searchPartialBean.lastName}"/>
<b:commandButton look="primary" id="search-form-submit" value="Search"
update="serach-results-table"/>
</b:column>
<b:column mediumScreen="5">
<b:alert severity="info" title="Info">
This will contain the search help.
</b:alert>
</b:column>
</b:row>
<br />
<b:panel id="serach-results-table">
<b:dataTable rendered="#{searchPartialBean.valuesPresent}" value="#{searchPartialBean.getSearchList()}" var="patient">
<b:dataTableColumn label="Date" value="#{patient.firstName}"/>
</b:dataTable>
</b:panel>
</h:form>
</b:tab>

您已经将一个表单包装在一个选项卡中。两个小部件都定义了一个名称空间,然后为其中每个小部件的id添加一个前缀。也许这就是问题所在。

我的第一种方法是添加一个冒号来表示您正在内部命名空间中搜索:

update=":search-results-table"

如果这不起作用,您可以使用BootsFaces:的递归搜索表达式

update="**:search-results-table"

然而,我最喜欢的方法是使用CSS伪类,比如:

update="@(.search-results-table)"
<b:panel styleClass="search-results-table">

最新更新