"Name cannot be empty") + elseif(name.length >= 10) ujson.Obj("success"-> false, "txt"-> "Name cannot be longer than 10 characters") + elseif。用Scala实现简单的Web和API服务器(20)。" />

用Scala实现简单的Web和API服务器(20)

h1("Scala Chat!"),

hr,

div(

for((name, msg) false, "txt"-> "Name cannot be empty")

+ elseif(name.length >= 10) ujson.Obj("success"-> false, "txt"-> "Name cannot be longer than 10 characters")

+ elseif(msg == "") ujson.Obj("success"-> false, "txt"-> "Message cannot be empty")

+ elseif(msg.length >= 160) ujson.Obj("success"-> false, "txt"-> "Message cannot be longer than 160 characters")

+ else{

+ messages = messages :+(name -> msg)

+ ujson.Obj("success"-> true, "txt"-> messageList.render)

}

}

注意我们这里用@cask.postJson替换了@cask.postForm,此外不再调用hello来重新渲染整个页面,而是仅返回一个很小的JSON结构ujson.Obj,这样浏览器可以利用它更新HTML页面。ujson.Obj数据类型由uJson库提供。

推荐阅读