ses*_*ses 7 scala playframework-2.0
最初发布并在这里回答:
https://groups.google.com/forum/#!topic/play-framework/s-ufMIbLz3c
但是当我把:
<div>
@if (request.uri == "/") { "Home Menu Selected" }
</div>
Run Code Online (Sandbox Code Playgroud)
但我得到了:
'(' expected but ')' found.
Run Code Online (Sandbox Code Playgroud)
假设你在范围内有请求对象,遗憾的是你只需要在"if"之后删除空格.播放模板对间距非常敏感.尝试:
<div>
@if(request.uri == "/") { "Home Menu Selected" }
</div>
Run Code Online (Sandbox Code Playgroud)
你想要实现的是很常见的,你试图通过将其标记为活动来显示菜单中的当前页面.
你确实可以做你上面做的事情.在模板中添加几个带字符串比较的@if条件.
@if(request.uri == "/"){ class="active" }
Run Code Online (Sandbox Code Playgroud)
但我喜欢在类型安全架构中更进一步.我通常创建一个包含很多常量的对象:
object MenuContants {
val HOME = "HOME"
val CONTACT = "CONTACT"
}
Run Code Online (Sandbox Code Playgroud)
然后我在模板中给出这些常量.从子模板到主布局模板:
@main("The title of my page", MenuConstants.HOME) {
// the rest of my template
}
Run Code Online (Sandbox Code Playgroud)
然后在主模板中进行比较,但不再基于字符串,而是基于常量,这是类型安全的.
@(title:String, contant:String) {
@if(contant == MenuConstants.HOME) { class="active" }
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3557 次 |
| 最近记录: |