2015-10-21 31 views
0

在我的表單中,我顯示了用戶要編輯和更新的對象的所有屬性。例如像我路過的車對象到JSP,然後使用如何在spring mvc中傳遞commandObject中的jstl值/ modelAttribute的形式

<td><form:input type="text" id="carType" path="carType" 
              maxlength="15" size="20" /></td> 

現在用戶可以對其進行編輯和更新一次按鈕被點擊,我提交表單

<form:form method="POST" id="formObj" action="updateCar" 
         modelAttribute="carObject"> 

現在,我不希望用戶能夠編輯一些屬性,如id,make和model。所以我用jstl將這些值顯示爲標籤,而不是在文本框中顯示。所以我用

${carObject.carId} 

該值在頁面上呈現,並且是可見的。現在問題出現在提交表單時,文本框中的值存在於表單對象中,但jstl中的值丟失並且不是控制器中表單對象的一部分。

我不想爲具有禁用功能的不可編輯值使用文本框。我想使用jstl。請幫忙。

+0

您應該將對象存儲在會話中。這比使用隱藏的輸入更安全。請參閱'@ SessionAttributes' –

回答

1

你可以把一個隱藏的輸入與您不想更新象值:

<input type="hidden" id="id" value="${carObject.carId}" /> 

,物業ID後,將在控制器層的物體的一部分。

+0

這將適用於id,但是我想在頁面上顯示的其他值如何。 – romhail

+0

如果價值不變,您是否需要它們?您可以只讀地將其置於輸入類型文本中,並且將填充到控制器層上,請注意,HTML標準不會提交處於禁用狀態的輸入(請參閱http://stackoverflow.com/a/524238/ 1228193)。或者你也可以把它放在一個隱藏的值。 – gerardribas

相關問題