我(大致)在我的默认模板中使用了这个LIFT-ified 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 | <lift:bind name="page-title"/></title>
</head>
<body>
<h1>Home</h1>
<div id="page-content">
</div>
</body>
</html>
为什么<lift:bind>
中的<title>
代码会被转义,而<body><h2>
中的{{1}}代码却没有?我该如何防止这种情况发生?
答案 0 :(得分: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"
}