我在我的默认模板中(大致)有这个提升的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>在我的main模板中使用...and命令:
<lift:surround at="page-content">
<lift:bind-at name="page-title">Home</lift:bind-at>
</lift>...which在生成的超文本标记语言中给我这个:
<html>
<head>
<title>FooBar Application | <lift:bind name="page-title"/></title>
</head>
<body>
<h1>Home</h1>
<div id="page-content">
</div>
</body>
</html>为什么<title>中的<lift:bind>标记被转义,而<body><h2>中的标记不被转义?我该如何防止这种情况发生呢?
发布于 2013-03-15 11:24:39
页面是通过SiteMap定义的吗?正如前面提到的,<title>可能是一个特例,它在几个地方被解释--其中一些地方可能正在进行转义。如果可以,我会尝试使用以下两种方法之一来设置页面标题:
通过Sitemap,您可以使用此处引用的Title Loc Param:Dynamic title with Lift
您还可以使用类似于:<title data-lift="PageTitle"></title>的代码来让它调用一个名为page-title的代码片段。其中,代码片段如下所示:
class PageTitle {
def render = "*" #> "FooBar Application | Home"
}https://stackoverflow.com/questions/15402953
复制相似问题