0

我的默认模板中有(大致)这个 LIFT 化的 HTML:

<html>
  <head>
    <title>FooBar Application | <lift:bind name="page-title"/></title>
  </head>
  <body>
    <h1><lift:bind name="page-title" /></h1>
    <div id="page-content">
        <lift:bind name="page-content" />
    </div>
  </body>
</html>

...然后在我的主模板中:

<lift:surround at="page-content">
  <lift:bind-at name="page-title">Home</lift:bind-at>
</lift>

...在生成的 HTML 中给了我这个:

<html>
  <head>
    <title>FooBar Application | &lt;lift:bind name=&quot;page-title&quot;/&gt;</title>
  </head>
  <body>
    <h1>Home</h1>
    <div id="page-content">
    </div>
  </body>
</html>

为什么<lift:bind>标签中的标签<title>被逃脱了,而标签中的标签<body><h2>不在?以及如何防止这种情况发生?

4

1 回答 1

0

页面是通过 定义的SiteMap吗?如前所述,<title>它可能是一种特殊情况,它在几个地方被解释——其中一些可能会进行转义。如果可以的话,我会尝试以两种方式之一设置页面标题:

通过Sitemap你可以使用Title Loc Param这里引用的:Dynamic title with Lift

你也可以有类似的东西:<title data-lift="PageTitle"></title>让它调用一个名为page-title. 其中,代码段将类似于:

class PageTitle { 
  def render = "*" #> "FooBar Application | Home"
}
于 2013-03-15T03:24:39.180 回答