2013-10-18 63 views
-1

候選POJO映射我有布爾屬性「isNewCandidate」申報冬眠這不是

那麼,什麼是該變量的最佳方法在POJO聲明,使支柱可以訪問它POJO布爾屬性。

<s:property value="candidate.isNewCandidate"/> 

因此,我公開財產,我能夠訪問它。但是,我應該公開財產還是有一個最好的辦法,我可以擁有私有財產,並有getters和setters像正常的數據庫列地圖屬性?

回答

1

屬性必須公開才能被Struts或UI訪問。所以其他答案是不正確的。

如果您可以從Candidate對象中找出它(例如,如果ID非零),您可以使其成爲只讀屬性。

但是,最好在控制器&中將其設置在視圖中(即將其設置爲請求屬性),而不是將其添加到bean中。 JSP可以從請求屬性讀取&渲染。

根本沒有它在bean中,可能是更好的封裝明智的..和「新」與「現有」是一個常見的要求,要知道在編輯窗體&頁,是真正的生命週期屬性編輯表單,而不是特定的bean類型。在創建/編輯頁面之外,它並不重要。

長話短說:在您的「基本EditForm控制器」中實現一次,而不是單獨在每個實體類中。

+0

也是一個公共getter getIsNewCandidate會很好知道所以我可以使該屬性私人 – Harshana

+0

是的,你可以有一個'公共'getter&使_field_'受保護'或'私人'..我總是喜歡保護,因爲它是更容易進行工程和調試。 –