Мне нужно показать ссылку для загрузки файла на странице в приложении JSF 2.Теперь проблема в том, что файл содержит данные, которые зависят от свежего просмотра базы данных во время создания.Но я хочу создать его и дать пользователю ссылку для его загрузки одним действием.
Это было бы очень просто сделать в двух действиях: иметь кнопку для создания файла и заменить его ссылкой для загрузки файла после его создания.
Итак, снова вопрос: можно ли это сделать одним щелчком мыши по ссылке?
РЕДАКТИРОВАТЬ, следуя комментарию BalusC ниже.Вот специфика того, что я пытаюсь сделать, и сделал до сих пор.У меня есть это в xhtml:
<h:panelGroup rendered="#{!bean.showLinkToExcelFile()}">
<h:form>
<td><h:commandButton value="Generate list of your Bids for download" action="#{bean.createBidsList()}"/></td>
</h:form>
</h:panelGroup>
<h:panelGroup rendered="#{bean.showLinkToExcelFile()}">
<td><a href="#{bean.findBidsListFileName()}">Download Your Bids</a></td>
</h:panelGroup>
Это работает.Кнопка создает файл Excel, сохраняет его в определенном месте и обновляет имя файла в базе данных.Затем ссылка обслуживает файл.Но это двухступенчатый процесс для пользователя.То, что я хотел бы, это только один шаг.Таким образом, одна ссылка, например:
<a href="#{bean.findBidsListFileName()}">Download Your Bids</a>
или, скорее всего, jsf commandLink создаст файл Excel на серверной части, сохранит его в / resources / location и без проблем откроет «сохранить»."диалог на компьютере пользователя.