我似乎无法理解如何通过抢劫获取表单数据。我刚开始研究 Haskell Web 框架,但文档有点……至少可以这么说。在 snap 网站上的瘦抢劫教程中没有提到表单。那么给定一个简单的 html 表单,我如何将表单数据处理到我的处理函数中?谁能指点我一个教程,谷歌只是对这个保持沉默吗?或者也许是一个简短的例子......
另外,我在哪里可以获得有关条件控制的信息?说,如果我想有条件地在我的页面中包含 html 的某些部分,我该怎么做呢?基本上,“如果”在哪里?
谢谢
我似乎无法理解如何通过抢劫获取表单数据。我刚开始研究 Haskell Web 框架,但文档有点……至少可以这么说。在 snap 网站上的瘦抢劫教程中没有提到表单。那么给定一个简单的 html 表单,我如何将表单数据处理到我的处理函数中?谁能指点我一个教程,谷歌只是对这个保持沉默吗?或者也许是一个简短的例子......
另外,我在哪里可以获得有关条件控制的信息?说,如果我想有条件地在我的页面中包含 html 的某些部分,我该怎么做呢?基本上,“如果”在哪里?
谢谢
有关简单形式的优秀教程,请参阅使用 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
渲染模板时,它会在遇到标签时评估拼接并在其位置插入值。