【问题标题】:Does the Grails undocumented method ifPageProperty actually work?Grails 未记录的方法 ifPageProperty 是否真的有效?
【发布时间】:2011-06-23 14:53:28
【问题描述】:

我在我的视图中使用content 标签设置pageProperty,但是,Grails 1.3.6 ifPageProperty 没有检测到我的侧边栏pageProperty。有什么想法吗?

layout.gsp

<g:ifPageProperty name="page.sidebar">
  <aside id="sidebar">
    <g:pageProperty name="page.sidebar" />
  </aside>
</g:ifPageProperty>

view.gsp

<html>
<head>
<title>My Account Title</title>
</head>
<body>
  <content tag="sidebar">
    <h4>Sidebar</h4>
    <p>Hola. This is a sidebar test!</p>
  </content>
  <h1>Content Heading</h1>
</body>
</html>

PS。如果您想知道我在哪里设置布局,它是在控制器中设置的。

【问题讨论】:

    标签: grails sitemesh


    【解决方案1】:

    一位同事浏览了 Grails 错误列表,发现必须关闭 Sitemesh 的预处理。

    // enable Sitemesh preprocessing of GSP pages
    grails.views.gsp.sitemesh.preprocess = false
    

    【讨论】:

    • 您好,请报告 Grails Jira 中的错误。我检查了 ifPageProperty 的源代码并且有一个错误。
    【解决方案2】:

    您可以尝试这个作为解决问题的方法吗:

    <g:if test="${g.pageProperty(name:'page.sidebar')?.length()}">
      <aside id="sidebar">
        <g:pageProperty name="page.sidebar" />
      </aside>
    </g:if>
    

    【讨论】:

    • 呃,但这对于多个装饰器来说是个草率的做法。我会等到 Sitemesh 和 Grails 出现。
    猜你喜欢
    • 1970-01-01
    • 2012-01-20
    • 1970-01-01
    • 2014-05-06
    • 2010-09-15
    • 2017-05-26
    • 2020-09-19
    • 1970-01-01
    • 2013-03-31
    相关资源
    最近更新 更多