0
我正在使用JSF 2.0和PrimeFaces 2.2的項目中工作。 目前我們正在使用嚮導(PrimeFaces組件)來引導用戶完成註冊過程。我們在嚮導中有4個步驟。JSF不更新某些支持bean屬性
問題出在這裏:在第一步中,用戶輸入他/她的個人詳細信息,並在支持bean中正確更新。 第2步只是一堆文本,第3步提供了另一個輸入額外信息的表單。
但是在步驟3中,數據未在輔助bean中更新,並且屬性保留爲空。 我已經嘗試了一些解決方法,但什麼都沒有改變......
好,這裏是代碼的相關部分:
<p:tab id="three" title="Passo 3" >
<p:panel header="Sua saúde financeira">
<p:messages />
<h:panelGrid cellpadding="5" columns="2">
<h:outputText value="Você possui alguma reserva? (Dinheiro não investido, coloque 0,00 se não tiver reserva) " />
<h:panelGrid cellpadding="5" columns="2">
<p:inputText id="reserva" value="#{userWizard.actualMoneyReserve}" size="5" required="true" /> <h:outputText value=" reais." />
</h:panelGrid>
<h:outputText value="Qual o valor que você planeja investir por mês? (0,00 se não tiver um planejamento) " />
<h:panelGrid cellpadding="5" columns="2">
<p:inputText id="valormensal" value="#{userWizard.monthlyInvestment}" size="5" required="true" /> <h:outputText value=" reais." />
</h:panelGrid>
<h:outputText value="Qual o valor do seu salário atual? " />
<h:panelGrid cellpadding="5" columns="2">
<p:inputText id="salario" value="#{userWizard.salary}" size="5" required="true" /> <h:outputText value=" reais." />
</h:panelGrid>
<h:outputText value="Quanto você gasta por mês ? " />
<h:panelGrid cellpadding="5" columns="2">
<p:inputText id="gastomensal" value="#{userWizard.lifeCost}" size="5" required="true" /> <h:outputText value=" reais." />
</h:panelGrid>
</h:panelGrid>
</p:panel>
</p:tab>
這是從視圖和支持bean:
private String actualMoneyReserve;
private String monthlyInvestment;
private String salary;
private String lifeCost; public void save() {
//Persist user
this.moneyHealth.setActualMoneyReserve(actualMoneyReserve);
this.moneyHealth.setLifeCost(lifeCost);
this.moneyHealth.setMonthlyInvestment(monthlyInvestment);
this.moneyHealth.setSalary(salary);
this.user.setMoneyHealth(this.moneyHealth);
JOptionPane.showMessageDialog(null, this.actualMoneyReserve);
JOptionPane.showMessageDialog(null, this.moneyHealth.getActualMoneyReserve());
GenericDAO<User> gd = new GenericDAO<User>(User.class);
gd.persist(user);
}
我已經用盡了所有可能的解決方案...所以如果有人至少有一個模糊的想法,這是有效的。 謝謝!
感謝您的回覆。我如何確保?但是,我不確定這是否是因爲另一步正常工作的問題。 –