我知道Scalatra是一个轻量级框架。但是,我想知道是否有任何管理少量州的技巧。我有一个带有textarea和一些复选框的表单。例如,假设textarea包含数学方程式,并且复选框包含一些其他选项。当我提交(method = POST)时,我想在表单下方显示结果,但保持相同的选项(textarea中的相同文本,选中相同的复选框)。
有没有一个很好的方法来实现这一目标?或者我是否需要在生成HTML时手动设置值?我现在正在使用Jade生成HTML。
答案 0 :(得分:5)
使用返回JSON的资源在服务器端执行,并使用JavaScript XHR动态调用它。
不需要国家!离开邪恶的国家!
修改强>
〜多一点解释〜
您创建了一个将计算参数作为输入的Web服务(使用带有GET的url中的?=,或者更好地使用带有POST的JSON有效负载),然后服务执行计算并返回结果的JSON表示
您使用来自Web应用程序的AJAX调用scalatra webservice,并使用Web服务器返回的JSON结果更新网页内容
如果你还不太了解AJAX,请阅读教程,我想你会更清楚我的意思。您也可以搜索返回JSON表示的Scalatra资源示例(使用lift-json,即。)
作为旁注,您可以看一下Bowler:http://www.bowlerframework.org 这使得在scalatra上进行REST开发变得更容易。