用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库提供。
推荐阅读
- 三国杀|三国杀:谁是技能最简单的武将,返璞归真,这就是武将基本元素!
- ag战队|关键的卡位赛,AG超玩会却上了猫神,原因很简单,但是却很心酸
- ps3|魔兽怀旧服:专业打“补丁”的装备,虽然获取简单,但能弥补短处
- 左慈|三国杀:技能缝接,超强发挥,用左慈就能实现
- 地下城堡|LOL手游上分总结,中单最简单上单没人帮,快手投大钱招新主播
- |《英雄联盟手游》当前版本最强上分英雄公布,阿克尚最强团战“利器”,上分很简单
- 商人|游戏商人的月入百万是真的吗?揭秘真实的剑三游戏商人真实现状
- 黄忠|五个能秒坦克的射手,香香仅排第五,榜首瞬秒脆皮太简单
- fly|从电竞迈向艺术:Fly选手实现人生跨越,成历史第一人!
- 炸弹人|英雄联盟手游:炸弹人+石头人走下,简单又强力啊