Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates 替换<;f:全部/>;在自定义模板grails上使用普通字段标记_Templates_Grails_Scaffold - Fatal编程技术网

Templates 替换<;f:全部/>;在自定义模板grails上使用普通字段标记

Templates 替换<;f:全部/>;在自定义模板grails上使用普通字段标记,templates,grails,scaffold,Templates,Grails,Scaffold,我在Grails3中安装模板,文件在src/main/templates/scaffoldind中,工作正常,但使用标签 <f:all bean="${propertyName}"/> 我需要一个bootsrap twitter类来处理所有输入,而f:all标记不允许这个函数,所以我需要用单个字段替换标记,比如: <% props.each{ %> <f:field bean="${propertyName}" propert

我在Grails3中安装模板,文件在src/main/templates/scaffoldind中,工作正常,但使用标签

<f:all bean="${propertyName}"/> 

我需要一个bootsrap twitter类来处理所有输入,而f:all标记不允许这个函数,所以我需要用单个字段替换标记,比如:

    <%
    props.each{
    %>
    <f:field bean="${propertyName}" property="${it.name}">
     <g:textField name="${it.name}" value="${propertyName}?.${it.name}" class="form-control" />
    </f:field>
...
    <%
    }
    %>

...

我找到了这篇文章,但它是针对grails 2而不是grails 3的,它提供了一些解决方案,用于替换普通输入的f:all标记,或者为所有f:all输入添加类“form control”

如果您想使由
呈现的所有字段都看起来漂亮且具有引导功能,您需要为它们创建
\u field.gsp
模板

通过创建以下四个gsp片段,可以创建通用模板(用于所有字段):

_wrapper.gsp
_widget.gsp
_displayWrapper.gsp
_displayWidget.gsp
在此目录中:

grails-app/views/_fields/default/
然后,您可以替换

<%
props.each{
%>
<f:field bean="${propertyName}" property="${it.name}">
 <g:textField name="${it.name}" value="${propertyName}?.${it.name}" class="form-control" />
</f:field>
...
<%
}
%>

...
通过调用
标记,插入脚手架gsp


请参阅文档

当我试图显示所有属性(无需编辑)时,这不适用于我的
,因此以下是我为使其正常工作所做的操作,我使用此模板创建了两个文件第一个
/views/\u fields/default/\u displayWidget.gsp

<tr class="prop">
    <td valign="top" class="name">${label}</td>
    <td valign="top" class="value">${value}</td>
</tr>
<g:each in="${domainProperties}" var="p">
    ${body(p)}
</g:each>

实际上,我刚刚覆盖了原始模板(我使用的是GrailsV3.1)。

它可以工作,但我尝试使用。关于_wrapper.gsp返回错误,您可以给出一个代码示例吗?请注意,我对Grails还比较陌生……可以举一些例子,比如_wrapper.gsp、_widget.gsp、_displayWrapper.gsp、,如果我创建这些通用模板gsp,然后尝试为域类生成视图,那么f:all标记是否会出现在生成的编辑和创建gsp中?我从何处获得_displayWrapper.gsp的示例?您是否能够解决此问题。你能分享一下代码吗?因为下面建议的方法似乎不适合我。