Tapestry BeanEditForm自定义

时间:2015-05-25 18:49:40

标签: forms field override tapestry templating

我正在使用Tapestry 5.x开始一个新项目。为了让它变得舒适,我正在做一些实验。

现在我正在寻找一种方法来添加一个小星星作为表格的每个字段的标签的第一个元素,并且具有渲染实体的“必需”约束。

例如

public class Address
{
    @Validate("required")
    public String lastName;
}

使用

呈现
<t:beaneditform object="addr" submitlabel="message:submit-label" />

应该呈现类似

的html
<div>
   <label><span>*</span> First name : </label>
   <input type="text" name="firstname" />
</div>

我目前的代码库与the official documentation中描述的代码库非常接近。

但遗憾的是,我没有找到实现我想要的通用方法。

对此我有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Label mixin执行此操作。 mixin将使用以下内容来获取对标签field参数的引用。

@BindParameter
private Field field;

然后你可以在mixin中测试field.isRequired()并调整html。有关mixins here

的更多信息

一旦你的mixin工作,你就可以使用ComponentClassTransformWorker2将其附加到每个标签(甚至是BeanEditForm中的标签),详见博客文章here