JSF:Datatable没有更新

时间:2016-05-09 07:54:24

标签: jsf jsf-2 primefaces datatable

我正在学习JSF并坚持以下问题:

Xhtml类:

<activity
    android:name=".ui.MasterActivity"
    android:label="@string/title_activity_master"
    android:theme="@style/AppTheme.NoActionBar">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity
    android:name=".ui.DetailActivity"
    android:parentActivityName=".ui.MasterActivity"
    android:theme="@style/AppTheme.NoActionBar">
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="it.returntrue.revalue.ui.MasterActivity" />
</activity>

Java类:

    <h:form><p:inputText  value="#{tempView.tempName}" e:placeholder="Search Name">
    </p:inputText>
    <p:commandButton id="search" value="Search" action="#{tempView.searchName()}" update="dataTable">
    </p:commandButton>
    <p:commandButton value="clear" action="#{tempView.clearSearchCriteria()}" update="dataTable">
    </p:commandButton>


<p:dataTable id="dataTable"
    value="#{tempView.tmpList}"
    var="tempVar" rowStyleClass="#{tempView.rowStyleClass(tempVar)}"
    rows="12" paginator="true"
    paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink}
    {LastPageLink} {RowsPerPageDropdown}"
    rowsPerPageTemplate="5,10,15" scrollable="true">

    <p:column headerText="First Name" sortBy="#{tempVar.firstName}">
        <h:outputText value="#{tempVar.firstName}" />
    </p:column>

    <p:column headerText="Last Name" sortBy="#{tempVar.lastName}">
        <h:outputText value="#{tempVar.lastName}" />
    </p:column>

    <p:column headerText="Institute / Practice Name" sortBy="#{tempVar.Address}">
        <h:outputText value="#{tempVar.instituteName}" />
    </p:column>
</p:dataTable>

}

我面临的问题是......首先调用getter和setter方法,然后执行'searchName'并执行action方法。它没有调用getter和setter,因为我的数据表没有更新。 动作方法'searchName'具有在datatable中细化列表的逻辑。 如果您需要任何其他信息,请与我们联系。 感谢。

1 个答案:

答案 0 :(得分:0)

使用ActionListener而不是使用Action。您需要更改bean中的方法以返回void并将ActionEvent添加为参数。