作为 JSF 的新手,我遇到了一个我不知道如何解决的情况。我有一个包含 2 个 selectOneMenu 对象(financialColumn、linesOfBusiness)的页面,具体取决于其他 2 个 selectOneMenu 对象(year、businessType)的值。FinanceColumn & linesOfBusiness 的内容可能完全不同,具体取决于所选的年份或业务类型(所有组件都是 RequestScoped bean)。
<h:outputText value="Data Year:" />
<h:selectOneMenu id="year" value="#{YearOptions.year}" >
<f:selectItems value="#{YearOptions.options}" />
<f:ajax execute="@this businesstype" render="financialColumn linesOfBusiness" />
</h:selectOneMenu>
<h:outputText value="Business Type:" />
<h:selectOneMenu id="businesstype" value="#{BusTypeOptions.busListKey}" >
<f:selectItems value="#{BusTypeOptions.options}" />
<f:ajax execute="@this year" render="financialColumn linesOfBusiness" />
</h:selectOneMenu>
<h:outputText value="Select Financial Amount to Report on:" />
<h:selectOneMenu id="financialColumn" value="#{FinColumn.finColumn}">
<f:selectItems value="#{FinColumn.options}"/>
</h:selectOneMenu>
<h:outputText value="Select Lines of Business to include:" />
<h:selectManyListbox id="linesOfBusiness" value="#{LobOptions.linenums}" size="5" >
<f:selectItems value="#{LobOptions.options}"/>
</h:selectManyListbox>
:
:
<h:commandButton value="Submit" type="submit" action="/pages/report/lines-of-business-summary"
我要弄清楚的问题是,只要我不更改或返回到我的报告页面显示的金融列和业务线的原始值,但是当我更改导致财务列和业务线值完全变化的业务类型值时,我收到“•criteria:financialColumn: Validation Error: Value is not valid”。为什么会发生这种情况,我该如何解决?
谢谢