考虑以下场景。有一个带有一些持久对象的页面obj
:
public class SomePage {
@Persistent
@Property
SomeBean obj;
@Property
@PageActivationContext
private SomeActivation actObj;
...
void onValidateFromForm() { ... }
}
这obj
是在页面上编辑的:
<t:textfield t:id="value" t:value="obj.value"/>
让我们考虑如下状态的初始化过程obj
:
(*) obj.value = actObj.value;
(我强烈需要解除绑定value
,actObj
请不要问为什么)。
还有一个验证方法。当验证失败时,我想在页面上显示错误列表并保留所有值,用户填写表单并存储到obj
.
所以:
- 当页面第一次用特定初始化时,
actObj
我想初始化obj
- 当页面验证失败时,我不想重新初始化
obj
,因为我想保留它的值并向用户显示错误列表。
问题是:我应该在哪里放置初始化块(*)?