Как обновить данные из командной кнопки?

1

У меня есть страница jsf, которая успешно извлекает данные из моего компонента данных при первой загрузке страницы.

Я хочу, чтобы datatable использовал текстовый ввод от компонента inputText в jsf, а затем использовал его в вызове jsf bean и генерировал таблицу.

Как мне это сделать?

В частности, я хочу, чтобы

  • Ввод текста с помощью компонента inputText JSF
  • На вкладке компонента CommandButton JSF
  • Обновите dataTable с помощью inputText в качестве параметра с вызовом 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>
    
Теги:
jsf
datatable
ejb

1 ответ

2
Лучший ответ

Создайте поле в управляемом компоненте, чтобы сохранить значение по умолчанию при навигации:

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>
  • 0
    Отлично, спасибо. Просто, лаконично и эффективно.
  • 0
    Вам не нужно передавать movie.filter через метод. Он автоматически устанавливает его в value . Просто пища для размышлений, когда у вас много переменных ...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню