我们如何在 lift 中使用 net.liftweb.http.js.JsCmds.Script 对象

How do we use net.liftweb.http.js.JsCmds.Script object in lift?

本文关键字:http liftweb js JsCmds 对象 Script net lift 我们      更新时间:2023-09-26

我正在将遗留系统从导轨移植到电梯中。它有很多硬编码的级联javascript,我想将它们渲染成html页面。

根据这里的对话,我们可以这样使用 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的正确方法是什么?

好吧,谈话显然是错误的。

net.liftweb.http.js.JsCmds.Scriptapply方法将 JsCmd 作为参数 - 这是编译器错误的根源。

现在对于该特定情况,您可以将其修复为如下所示的内容:

Script(JsCrVar("x", new Str("Here's my JavaScript & it looks good")))

(Str 是 net.liftweb.http.js.JE.Str

正如唐纳德所说,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