2014-12-23 57 views
0

當我提交表單和(當按下按鈕)調用Java函數我不能改變我的jsp頁面中的數據信息。表單字段不會改變Java變量

這是我的.jsp表單域使用的代碼和平:

... 
<h:form> 
<h:panelGrid columns="3"> 
<h:outputLabel for="contactName" value="#{msj.contactName}"/> 
<h:inputText id="contactName" value="#{CustodiaBean.name}" required="true"> 
<f:validator validatorId = "TextValidator" /> 
</h:inputText> 
<h:message for="contactName" styleClass="errorMessage" style="color:red"/> 

<h:outputLabel for="contactLastName" value="#{msj.contactLastName}"/> 
<h:inputText id="contactLastName" value="#{CustodiaBean.last_name}" required="true" > 
<f:validator validatorId = "TextValidator" /> 
</h:inputText> 
<h:message for="contactLastName" styleClass="errorMessage" style="color:red"/> 
</h:panelGrid> 

<div id="button"> 
<h:commandLink styleClass="hoveringLink3doubleGreen" action="#{CustodiaBean.updateAccount}"> 
<h:outputText id="save_button" value="#{msj.save_changes}"/> 
</h:commandLink> 
<h:commandLink styleClass="hoveringLink3double" action="myAccountCustodia"> 
<h:outputText id="cancel_button" value="#{msj.cancel}"/> 
</h:commandLink> 
</div> 
</h:form> 
... 

這是在其他頁面,如登錄時使用的同一段代碼和註冊用戶。 表單字段得到當前值「CustodiaBean」,但我試圖改變形式的價值,當我按下按鈕,檢查值(下稱「CustodiaBean」功能),我總是得到前值(新的表單值在我的「CustodiaBean」類中沒有改變)。

我正在使用tomcat服務器和eclipse。

是necesary迫使被bloqued領域,按下按鈕時保存更改?

我不知道爲什麼會發生這種情況。任何人都可以幫助我或給我一些建議?

感謝很多提前

+0

顯然你使用的是一個框架,因爲' developerwjk

+0

它是jsp文件中的jsf。 – Carlos

回答

0

請問H:inputText的等也有屬性名?嘗試查看生成的html。您的數據可能無法正確提交。任何HTML表單都會直接提交未使用每個字段的name屬性禁用的特效。 IF id存在而不是名稱,它不會被正確提交。嘗試在瀏覽器級別進行調試或通過一些類似篡改數據的Firefox插件進行調試。

希望它有幫助