在候选 POJO 中,我有布尔属性“isNewCandidate”
那么在 POJO 中声明该变量的最佳方法是什么,以便 struts 可以访问它。
<s:property value="candidate.isNewCandidate"/>
因此,我将财产公开,并且能够访问它。但是我应该将属性公开还是有最好的方法可以让属性私有并且像普通的数据库列映射属性一样拥有getter和setter?
属性必须是公共的,Struts 或 UI 才能访问它。所以另一个答案是不正确的。
如果您可以从 Candidate 对象中找出它(例如,如果 ID 不为零),则可以将其设为只读属性。
但是,最好在控制器中找出它并在视图中设置它(即,将其设置为请求属性)而不是将其添加到 bean 中。JSP 可以从请求属性中读取和呈现。
根本没有它在 bean 中,可能是更好的封装方式.. 并且“新”与“现有”是在编辑表单和页面中了解的常见要求,并且实际上是编辑表单中生命周期的属性,不是特定的bean类型。在创建/编辑页面之外,它是无关紧要的。
长话短说:在您的“基本 EditForm 控制器”中实现一次,而不是在每个实体类中单独实现。