3

我似乎无法理解如何通过抢劫获取表单数据。我刚开始研究 Haskell Web 框架,但文档有点……至少可以这么说。在 snap 网站上的瘦抢劫教程中没有提到表单。那么给定一个简单的 html 表单,我如何将表单数据处理到我的处理函数中?谁能指点我一个教程,谷歌只是对这个保持沉默吗?或者也许是一个简短的例子......

另外,我在哪里可以获得有关条件控制的信息?说,如果我想有条件地在我的页面中包含 html 的某些部分,我该怎么做呢?基本上,“如果”在哪里?

谢谢

4

1 回答 1

2

有关简单形式的优秀教程,请参阅使用 Heist 的消化函子,以及mightybyte对抢劫的思考。如果您打算multipart/form-data使用该Snap.Util.FileUploads模块。

您可以使用 aSplice根据条件生成内容。
ASplice返回Node's 的列表,

mySplice = do
  -- get environment conditions
  -- condition could be passed in as a parameter 
  if condition 
     then return [] -- do nothing
     else return [TextNode "some content"] -- see Text.XmlHtml

然后,您可以使用以下方式将此拼接绑定到标签:

bindSplice myTag mysplice defaultHeistState

并放置<myTag/>在您的模板中。在Heist渲染模板时,它会在遇到标签时评估拼接并在其位置插入值。

于 2012-03-19T17:45:58.570 回答