В настоящее время у меня есть 2 командные кнопки и один список.Основываясь на выборе списка, сгенерированный результат может быть показан в загружаемом файле или представлен в виде таблицы HTML.Код getFile()
основан на руководстве по обработке PDF от BalusC , в то время как getTable()
устанавливает resultTable
.
<h:form>
<fieldset>
<h:selectManyListbox id="listbox" value="#{form.items}">
<f:selectItems value="#{form.allItems}">
</h:selectManyListbox>
</fieldset>
<h:commandButton value="Get File" action="#{form.getFile}">
<h:commandButton value="Get Table" action="#{form.getTable}">
<f:ajax render="result_table" execute="listbox" />
</h:commandButton>
<h:panelGrid id="result_table">
<table>
<thead></thead>
<tbody>
<ui:repeat var="table" value="#{form.resultTable}">
</ui:repeat>
</tbody>
</table>
</h:panelGrid>
Пока обе кнопки работают нормально.Однако я хочу объединить оба действия в одну кнопку.Когда я проверяю это с помощью кнопки, которая запускает оба действия, ничего не происходит (файл не сохраняется в виде диалога или таблицы).Это потому, что одно действие является ajax или другое действие заканчивается на facesContext.responseComplete();
?
<h:commandButton value="Get Both" action="#{form.getBoth}">
<f:ajax render="result_table" execute="listbox" />
</h:commandButton>
getBoth() {
getTable();
getFile();
}
Кроме того, я хотел бы установить флажок, если, если он установлен, всплывающее окно «сохранить как» и таблица отображается.Если этот флажок не установлен, отображается только таблица.