【问题标题】:Grails- How to render a view with a selected template?Grails-如何使用选定的模板渲染视图?
【发布时间】:2015-03-18 12:56:58
【问题描述】:

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

<!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 模板 - 如何?

【问题讨论】:

    标签: templates grails controller


    【解决方案1】:

    在您的模型中提供哪个选项卡处于活动状态,并以此决定将active css 类放在哪里。

    【讨论】:

    • 你可以看到personalInfo模板默认是激活的。如何通过控制器进行更改?
    • 通过制作例如控制器中模型的活动选项卡部分的 ID
    • 请查看文档中的基础知识:grails.github.io/grails-doc/latest/guide/…
    【解决方案2】:
    1. 首先将隐藏字段添加到模板中,标记选项卡 (假设 name="tabName" value"personalInformation")
    2. 在控制器中,您可以访问此字段 参数 (params.tabName)
    3. 在控制器的末尾放这个 字段到模型中
    4. 在 gsp 中使用此字段来决定哪个选项卡 处于活动状态

    【讨论】:

      猜你喜欢
      • 2010-11-30
      • 2017-10-08
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多