我正在将遗留系统从铁路移植到电梯中。它有很多硬编码的连接javascript,我想渲染到html页面。
根据this conversation这里,我们可以这样使用net.liftweb.http.js.JsCmds.Script对象:
Script("""
var x = "Here's my JavaScript & it looks good";
""")
但是,我收到了这个编译器消息:
error: type mismatch;
[INFO] found : java.lang.String
[INFO] required: net.liftweb.http.js.JsCmd
使用net.liftweb.http.js.JsCmds.Script
的正确方法是什么?
答案 0 :(得分:3)
嗯,谈话显然是错误的。
apply
的{{1}}方法将JsCmd作为参数 - 这是编译器错误的来源。
现在针对特定情况,您可以将其修复为:
net.liftweb.http.js.JsCmds.Script
(Str is Script(JsCrVar("x", new Str("Here's my JavaScript & it looks good")))
)
答案 1 :(得分:1)
正如Donald所说,JsCmds.Script()方法将JsCmd作为参数。 所以你可以使用JsRaw编写直接的JS语句。
离。
Script(JsRaw("""var x = "Here's my JavaScript & it looks good";"""))
以下是关于此主题的讨论:: https://groups.google.com/forum/#!topic/liftweb/1roPxxHIFJk/discussion