Xitrum學習筆記08 - JavaScript and JSON

來源:互聯網
上載者:User

標籤:cas   script   option   library   efault   over   error   ddt   redirect   

JavaScript

Xitrum包含jQuery,有一些 jsXXX輔助方法

1. 添加JavaScript程式碼片段到View中

在action中,調用jsAddToView添加JS代碼(可以多次調用)

class MyAction extends AppAction {  def execute() {    ...    jsAddToView("alert(‘Hello‘)")    ...    jsAddToView("alert(‘Hello again‘)")    ...    respondInlineView(<p>My view</p>)  }}

在 layout 中,調用jsForView:

import xitrum.Actionimport xitrum.view.DocTypetrait AppAction extends Action {  override def layout = DocType.html5(    <html>    <head>      {antiCsrfMeta}      {xitrumCss}      {jsDefaults}    </head>    <body>      <div id="flash">{jsFlash}</div>      {renderedView}      {jsForView}    </body>  </html>)

2. 沒有View的情況下,直接響應返回JavaScript

由JavaScript發出響應,使用jsRespond

jsRespond("$(‘#error‘).html(%s)".format(jsEscape(<p class="error">Could not login.</p>)))

重新導向

jsRedirectTo("http://cntt.tv/")jsRedirectTo[LoginAction]()
JSON

Xitrum包含JSON4S(一個JSON抽象文法分析樹)。Scala case對象和JSON字串的轉換樣本:

import xitrum.util.SeriDesericase class Person(name: String, age: Int, phone: Option[String])val person1 = Person("Jack", 20, None)val json = SeriDeseri.toJson(person1)val person2 = SeriDeseri.fromJson[Person](json)

響應返回JSON:

val scalaData = List(1, 2, 3) // An examplerespondJson(scalaData)
Knockout.js外掛程式 

在 build.sbt檔案中配置  libraryDependencies += "tv.cntt" %% "xitrum-ko" % "1.7",就可以在項目中使用Knockout JS了

參考 https://github.com/xitrum-framework/xitrum-ko

 

Xitrum學習筆記08 - JavaScript and JSON

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.