如何从命令按钮更新数据表?

时间:2014-05-01 18:22:25

标签: java jsf datatable ejb

我有一个jsf页面,当页面首次加载时,它会成功地从我的数据bean中提取数据。

我想要的是数据表使用来自jsf中的inputText组件的文本输入,然后在调用jsf bean中使用它并生成表。

我将如何做到这一点?

特别是我想要的是

  • 从inputText JSF组件
  • 获取文本输入
  • 在commandButton JSF组件上单击
  • 使用inputText作为bean调用的参数

    更新dataTable

                                                   

        <h:dataTable value="#{movie.getSearchMovieList('car')}" var="c"
                     styleClass="order-table"
                     headerClass="order-table-header"
                     rowClasses="order-table-odd-row,order-table-even-row"
                     >
    
            <h:column>
                <f:facet name="header">
                    Movie ID
                </f:facet>
                #{c.itemid}
            </h:column>
    
            <h:column>
                <f:facet name="header">
                    Title
                </f:facet>
                #{c.title}
            </h:column>
        </h:dataTable>
    

1 个答案:

答案 0 :(得分:2)

在托管bean中创建一个字段,以便在导航时保留默认值:

private String filter = "car"; // + getter/setter

然后,在视图中:

<h:form>
    <h:inputText label="Type search filter :" value="#{movie.filter}" />
    <h:dataTable value="#{movie.getSearchMovieList(movie.filter)}" var="c" ... >
        ...
    </h:dataTable>

    <h:commandButton value="Search" /> // no action attribute means refreshing
<h:form>