2011-09-28 98 views
2

我知道Scalatra是一个轻量级的框架。但是,我想知道是否有任何管理少量状态的技巧。我有一个带有textarea和几个复选框的表单。例如,假设textarea包含一个数学公式,并在复选框中添加了一些附加选项。当我提交(method = POST)时,我希望在表单下方显示结果,但保持相同的选项(textarea中的文本相同,复选框相同)。用Scalatra管理状态

有没有一种很好的方法来实现这个目标?或者我需要在生成HTML时手动设置值?我目前使用Jade生成HTML。

回答

5

使用返回JSON的资源对其进行服务器端操作,并使用JavaScript XHR动态调用它。

无需国家!离开邪恶的状态!

编辑

〜详细说明一下〜

  1. 您创建一个web服务是需要计算参数为输入(使用?= url中使用GET或更好的使用JSON有效载荷与POST ),然后该服务执行计算并返回结果的JSON表示

  2. 您可以使用您的Web应用程序中的AJAX调用该scalatra webservice,并更新内容使用Web服务器

返回的JSON结果网页的如果你不已经很了解AJAX,阅读教程,我想你会更好地理解我的意思。你也能搜索例如Scalatra的资源返回JSON表示(使用升JSON即)

作为一个侧面说明,你可以在保龄球看一看:http://www.bowlerframework.org 其中就Scalatra的更简单的REST发展。

+0

如果我更好地理解它,我可能会很乐意接受这个答案......例如,您的意思是服务器端资源是什么意思?请原谅我的无知。 – schmmd

+0

我刚刚更新了更详细的答案,你知道了吗? –

+0

非常有帮助,谢谢。我一直对Web开发的复杂性感到惊叹。 – schmmd