Tapestry5@Persist默认值

Tapestry5@Persist默认值,tapestry,Tapestry,我有一个带有表单的页面,它使用@Persist字段作为表单控件(文本框、单选按钮等),因此如果提交表单,如果自定义验证失败,数据将保留在表单中 在文档中,“标记为@Persist的字段可能没有默认值(无论是内联设置还是在构造函数中设置)”。但是,我需要为一些表单元素(包括一些@Validate(“required”)选择框)设置默认值 实现这一目标的方法是什么 谢谢首先,我认为您不需要@persist您的表单值,因为tapestry将在验证失败的提交过程中保留它们。如果要设置默认值,可以在@Se

我有一个带有表单的页面,它使用@Persist字段作为表单控件(文本框、单选按钮等),因此如果提交表单,如果自定义验证失败,数据将保留在表单中

在文档中,“标记为@Persist的字段可能没有默认值(无论是内联设置还是在构造函数中设置)”。但是,我需要为一些表单元素(包括一些@Validate(“required”)选择框)设置默认值

实现这一目标的方法是什么


谢谢

首先,我认为您不需要@persist您的表单值,因为tapestry将在验证失败的提交过程中保留它们。如果要设置默认值,可以在@SetupRender中进行设置,如:

@Porperty
@Persist
private String myValue;

@SetupRender
private void setup() {
    if(myValue == null) {
        myValue = "defaultVal";
    }
}
或者,您可以在空检查getter中执行此操作(这在使用事件时非常有用,因为此处未调用@SetupRender):


首先,我认为您不需要@persist您的表单值,因为tapestry将在验证失败的提交过程中保留它们。如果要设置默认值,可以在@SetupRender中进行设置,如:

@Porperty
@Persist
private String myValue;

@SetupRender
private void setup() {
    if(myValue == null) {
        myValue = "defaultVal";
    }
}
或者,您可以在空检查getter中执行此操作(这在使用事件时非常有用,因为此处未调用@SetupRender):


谢谢你的建议,我会试试看。空检查getter工作得很好,谢谢你的帖子。谢谢你的建议,我会试试看。空检查getter工作得很好,谢谢你的帖子。