Java 如何从commandbutton按钮更新数据表?
我有一个jsf页面,当页面第一次加载时,它成功地从我的数据bean中提取数据Java 如何从commandbutton按钮更新数据表?,java,jsf,datatable,ejb,Java,Jsf,Datatable,Ejb,我有一个jsf页面,当页面第一次加载时,它成功地从我的数据bean中提取数据 <h:dataTable value="#{movie.getSearchMovieList('car')}" var="c" styleClass="order-table" headerClass="order-table-header" rowClasses="order-table-odd-row
<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>
我想要的是datatable使用jsf中inputText组件的文本输入,然后在调用jsf bean中使用该输入并生成表
<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>
我该怎么做呢
<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>
具体来说,我想要的是
<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>
- 从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>
<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>
电影ID #{c.itemid} 标题 #{c.title}
<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>
private String filter = "car"; // + getter/setter
然后,在视图中:
<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>
<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>
...
//无操作属性意味着刷新
非常好,谢谢。简单、简洁、有效。您不需要通过该方法传递电影。筛选。它会自动将其设置为值
。当你有很多变数的时候,只是想一想。。。