3

レガシ システムをレールからリフトに移植しています。HTMLページにレンダリングしたいハードコーディングされた連結されたJavaScriptがたくさんあります。

ここでの会話によると、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

4

2 に答える 2

3

まあ、会話は明らかに間違っています。

applyメソッドnet.liftweb.http.js.JsCmds.Scriptは JsCmd をパラメーターとして受け取ります。これがコンパイラ エラーの原因です。

その特定のケースでは、次のように修正できます。

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

(Str はnet.liftweb.http.js.JE.Str)

于 2012-06-28T19:29:55.950 に答える
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

于 2014-11-11T22:51:19.193 に答える