Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从commandbutton按钮更新数据表?_Java_Jsf_Datatable_Ejb - Fatal编程技术网

Java 如何从commandbutton按钮更新数据表?

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

我有一个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>
我想要的是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}
    

在托管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>
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>

...
//无操作属性意味着刷新

非常好,谢谢。简单、简洁、有效。您不需要通过该方法传递
电影。筛选
。它会自动将其设置为
。当你有很多变数的时候,只是想一想。。。