Tapestry 5为子类中的参数创建绑定

时间:2013-09-12 13:03:45

标签: tapestry

我创建了组件BannerUpload,它扩展了核心上传组件。我在这个组件中有属性UploadedFile。但我没有看到任何方法将其传递给父类的参数。我试图定义方法 UploadedFile defaultValue()但它没有帮助,因为它意味着容器......

public class BannerUpload extends Upload {
    @Property
    private UploadedFile bannerUpload;

    public void doUpload() {
        // ... upload file ....
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用mixin和@BindParameter而不是扩展上传组件。如果设置标有@BindParameter的字段,则会将其推送到组件。我不确定这个注释是否也适用于子类?

例如

<t:upload t:mixins="mymixin" />

public class MyMixin {
    @BindParameter
    private UploadedFile value;

    @SetupRender
    void initializeValue() {
        // set value here
    }
}

http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/annotations/BindParameter.html