У меня есть следующая страница Facelet:
<ui:define name="content">
<h:form id="selectReport">
<div>
<h:selectOneMenu value="#{reportsController.selectedReport}">
<f:selectItems value="#{reportsController.reportsList}"/>
</h:selectOneMenu>
</div>
<div>
<h:commandButton value="Ir al reporte"
action="#{reportsController.goToReport}"/>
</div>
</h:form>
<h:form id="dateRangeSetupForm"
rendered="#{reportsController.showDateRangeSetupForm}">
<div>
<h:outputLabel value="Desde:"/>
<h:inputText id="fromDate"
value="#{reportsController.fromDate}"/>
</div>
<div>
<h:outputLabel value="Hasta:"/>
<h:inputText id="toDate"
value="#{reportsController.toDate}"/>
</div>
</h:form>
<h:form id="billOfLadingSetupForm"
rendered="#{reportsController.showBillOfLadingSetupForm}">
<div>
<h:outputLabel value="# Factura:"/>
<h:inputText id="invoiceNumber"
value="#{reportsController.invoiceNumber}"/>
</div>
</h:form>
<h:form id="submitForm">
<h:commandButton id="processReport" value="Generar Reporte"
action="#{reportsController.processReport}"/>
<h:commandButton id="goBack" value="Regresar"
action="mainMenu"/>
</h:form>
</ui:define>
В котором я позволяю пользователю выбирать отчет и отображать форму для настройки параметров в зависимости от отчета. Проблема в том, что когда я рендерирую, например, billOfLadingSetupForm
и заполняю inputText
, затем нажимаю кнопку processReport
, свойство invoiceNumber
моего компонента не обновляется, оно устанавливается на null
.
Я заметил, что если я наберу Return
после заполнения inputText
и затем нажму кнопку processReport
, свойство будет обновлено. Это странно, я не сталкивался с этой проблемой раньше. У вас есть идеи, почему это происходит?