Templates Grails-如何使用选定模板渲染视图?

Templates Grails-如何使用选定模板渲染视图?,templates,grails,controller,Templates,Grails,Controller,我使用以下代码在视图中创建了不同的选项卡: <!doctype html> <html> <head> <meta name="layout" content="main-redesign" /> <title>Account Settings</title> </head> <body> <%-- global header --%> <%-- tab navi

我使用以下代码在视图中创建了不同的选项卡:

<!doctype html>
<html>
<head>
    <meta name="layout" content="main-redesign" />
    <title>Account Settings</title>
</head>
<body>
<%-- global header --%>


<%-- tab navigation your network --%>
<g:render template="accountSettingNavigation"/>

<%-- main content area --%>
<div class="container account-setting">
    <div class="row">
        <div class="col-md-10 col-md-offset-2">
            <h3 class="page-title">ACCOUNT SETTINGS</h3>
            <%-- your network tab containers --%>
            <div class="tab-content mb-100">
                <div class="tab-pane active" id="personalInformation">
                    <g:render template="personalInfo"
                              model="[user:user,editable:editable]" />
                </div>
                <div class="tab-pane" id="changePassword">
                    <g:render template="changePassword"/>
                </div>

            </div>
        </div>  
    </div>
</div>

</body>
</html>

帐户设置
帐户设置
在changePassword模板中,我有一个表单,其中包括3个字段: 当前密码 新密码确认

用户单击“更新密码”后,表单将提交给控制器以保存新密码


在中,您必须呈现视图并确保选择changePassword模板-如何?

在您的模型中提供活动的选项卡,并通过这种方式决定将活动的
css类放置在何处

  • 首先将隐藏字段添加到模板中,模板将标记选项卡 (比如name=“tabName”value“personalInformation”)
  • 在控制器中,您可以在中访问此字段 params(params.tabName)
  • 在控制器的末尾放上这个 字段输入到模型中
  • 在gsp中使用此字段来决定哪个选项卡 是活跃的

  • 您可以看到,默认情况下,personalInfo模板处于活动状态。如何通过控制器进行更改?通过在控制器中设置模型活动选项卡部分的id,请检查文档中的基本原理: