Grails 将占位符与<;f:所有bean/>;

Grails 将占位符与<;f:所有bean/>;,grails,Grails,在Grails中,可以使用生成表单。虽然生成的表单看起来很棒,但我想知道是否有可能在字段中设置占位符,从而使结果类似于: <input type="text" name="question" placeholder="type your question here" /> 但是它似乎对生成的HTML没有任何影响。为了防止出现任何混淆,fields插件提供了f:all标记。我认为没有任何方法可以通过域类约束指定占位符属性,但是还有一些其他选项 一个选项是为该属性定义自定义(GSP)模

在Grails中,可以使用
生成表单。虽然生成的表单看起来很棒,但我想知道是否有可能在字段中设置占位符,从而使结果类似于:

<input type="text" name="question" placeholder="type your question here" />

但是它似乎对生成的HTML没有任何影响。

为了防止出现任何混淆,fields插件提供了
f:all
标记。我认为没有任何方法可以通过域类约束指定
占位符
属性,但是还有一些其他选项

一个选项是为该属性定义自定义(GSP)模板,并在其中指定占位符属性。此模板的路径将取决于您使用的插件版本,但您可以找到详细信息

或者,如果使用
f:field
单独渲染每个字段,而不是使用
f:all
,则可以向输入字段传递其他属性,例如

<f:field bean="person" property="gender" 
        widget-placeholder="type your question here"/>

为了防止混淆,fields插件提供了
f:all
标记。我认为没有任何方法可以通过域类约束指定
占位符
属性,但是还有一些其他选项

一个选项是为该属性定义自定义(GSP)模板,并在其中指定占位符属性。此模板的路径将取决于您使用的插件版本,但您可以找到详细信息

或者,如果使用
f:field
单独渲染每个字段,而不是使用
f:all
,则可以向输入字段传递其他属性,例如

<f:field bean="person" property="gender" 
        widget-placeholder="type your question here"/>

嗨,多纳尔,谢谢你的回答。如果所有的占位符都是相同的,那么您的第一个选项会起作用。但是占位符取决于域属性。我不喜欢使用
,但我有一个非常简单的域,有很多字段,对于这个域,
工作得非常好。但是你知道为什么这些属性不起作用吗?我假设它们就是为了这个……您可以定义一个只应用于单个域类属性的模板,例如
grails-app/views/\u-fields/person/name/\u-wrapper.gsp
。字段插件文档中哪里提到使用约束来定制输入字段?嗯,但我需要所有属性的占位符,而不仅仅是一个。同样的工作量,也许更多。fields插件没有提到它,但Grails属性文档提到了:。这似乎是一个很好的匹配。根据grails文档,“此约束仅适用于布尔(复选框)、日期(日期选择器)和集合(*select)属性”。您的物业似乎属于
String
Hi-Donal类型,谢谢您的回答。如果所有的占位符都是相同的,那么您的第一个选项会起作用。但是占位符取决于域属性。我不喜欢使用
,但我有一个非常简单的域,有很多字段,对于这个域,
工作得非常好。但是你知道为什么这些属性不起作用吗?我假设它们就是为了这个……您可以定义一个只应用于单个域类属性的模板,例如
grails-app/views/\u-fields/person/name/\u-wrapper.gsp
。字段插件文档中哪里提到使用约束来定制输入字段?嗯,但我需要所有属性的占位符,而不仅仅是一个。同样的工作量,也许更多。fields插件没有提到它,但Grails属性文档提到了:。这似乎是一个很好的匹配。根据grails文档,“此约束仅适用于布尔(复选框)、日期(日期选择器)和集合(*select)属性”。您的属性可能是
String
<f:field bean="person" property="gender" 
        input-placeholder="type your question here"/>