2
我試圖在我的應用程序中爲答案製作一個輸入表單,並從四個「空」答案開始,這些答案是視圖循環併爲其輸入字段。我有一個添加答案按鈕,我將一個問題添加到答案數組中,然後視圖再次呈現答案,但是現在增加了一個輸入字段。 backing bean是viewscoped。但是,如果我提交表單而不按下添加答案按鈕,它一切正常。數據保存在數據庫中。但是,如果我在填充四個答案後添加答案,則最後一個答案不會從輸入字段獲取數據(answer.description)。如果我先按添加答案(不填寫任何輸入字段),則根本不會捕獲字段中的數據,所有5個都不會留空,因此沒有數據保存在數據庫中。在UI中動態添加的輸入字段:表單提交時不處理
我有這樣的形式:
<ui:repeat var="answer" value="#{bean.answers}">
<div class="field">
<h:outputLabel for="answerAlternative-#{answer.serialNumber}"
value="Svaralternativ #{answer.serialNumber}" />
<h:inputText id="answerAlternative-#{answer.serialNumber}"
value="#{answer.description}" size="40" />
</div>
</ui:repeat>
這是創建一個新的輸入字段的方法:
public String addAnswer() {
if (answers.size() + 1 < 6) {
Answer answer = new Answer();
answer.setSerialNumber(answerSerialNumber + "");
answerSerialNumber++;
answers.add(answer);
}
return null;
}
用於初始化的答案陣列有四個空的輸入字段:
@PostConstruct
public void initBean() {
answers = new ArrayList<Answer>();
for (int i = 0; i < 4; i++) {
addAnswer();
}
}
什麼是JSF impl/version?莫哈拉對''長期存在嚴重問題,並且保存了部分狀態。他們中的大多數應該在當前的2.1.4中修復。 MyFaces不應該有這樣的問題,你也可以嘗試一下。您也可以用''來嘗試,而不是排除其中一個,在這種情況下不應該有任何問題。 –
BalusC
我可以在哪裏查看我使用的版本? – LuckyLuke
它通常打印在webapp啓動日誌中。檢查你的IDE控制檯。對於Mojarra而言,它看起來像是INFO:初始化Mojarra 2.1.4(SNAPSHOT 20111107)用於上下文'/ playground''。 – BalusC