2
我試圖製作一個基於路由行爲不同的標籤,但是當我嘗試在@{ ... }
塊內呈現html時,我似乎無法正確插入我的變量。在scala模板中解碼html
@(route: String, on_image: String, off_image: String, alt_text: String)
@{
val Pattern = ("(" + route + ".*)").r
val path = request().path()
path match {
case Pattern(foo) => {
if(path != route && route == "/") {
<script type="text/javascript">
alert("{route}");
</script>
} else {
<script type="text/javascript">
alert("{route}");
</script>
}
}
case _ => {
<script type="text/javascript">
alert("{route}");
</script>
}
}
}
當網頁加載完畢後,我得到一個語法錯誤在我的Firebug的控制檯,在它的發現,評估這個腳本標籤的內容:
alert("/accounts");
現在的我,已經嘗試了包括整個街區周圍的@Html{ ... }
和@Html(...)
和@Html({ ... })
之類的內容。我也試過alert(@Html("{bar}"));
和其他類似的東西,但一切都會產生各種錯誤。
什麼是正確的方法來做到這一點?
編輯
更新,以顯示嘗試使用只有一個簡單起見變量,並表示在該變量從何而來。
酒吧從哪裏來?假設它也在代碼中的某個地方,你是否在引用中嘗試了@ foo和@ bar而不是{foo}? – aishwarya
這實際上是一個倒退。然後我得到'" @foo "' – Samo
在任何情況下,問題都與引號有關,而不是與內部內容有關。你可以從輸出中看到,我在我的問題中發佈了{foo}(或者實際上,{route})返回值。我需要將這個值轉換成一個javascript字符串。 – Samo