gpt4 book ai didi

java - 如何读取 Play Framework 模板中的注释值?

转载 作者:行者123 更新时间:2023-12-04 06:29:33 24 4
gpt4 key购买 nike

我想在 CRUD 模块模板中使用注释中的值来利用 HTML5 函数。

例如

@范围(最小值=0,最大值=10)

公共(public)整数大小;

CRUD 模块使用 views/tags/crud/numberField.html 显示数字字段:

#{field 'object.' + _name}
<label for="${field.id}">
&{_name}
</label>
<input id="${field.id}" type="text" name="${field.name}" value="${params[field.name]?.escape()?.raw() ?: field.error?.message == 'validation.required' ? '' : _value?.escape()?.raw()}" size="5" />
#{ifError field.name}
<span class="error">${field.error}</span>
#{/ifError}
#{/field}

如何从注释中读取最小/最大值,然后在 中输出为 min="0"max="0"?

最佳答案

您可以通过向 CRUD 模块的 CRUD.ObjectType.ObjectField 添加方法来完成此操作。读取注释值的内部类,例如就像是:

public String getRangeMin() {
if (!property.field.isAnnotationPresent(Range.class)) {
return null;
}
return property.field.getAnnotation(Range.class).min();
}

然后在 crud/views/tags/crud/form.html您可以在 #{if field.type == 'number'} 中的新标签参数中使用它(注意 fieldCRUD.ObjectType.ObjectField 这里:
#{crud.numberField min:field.min …

然后该值可用作 _min里面 numberField.html标签。

关于java - 如何读取 Play Framework 模板中的注释值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5604504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com