Haskell 在快照中使用路由和html(Heist)
我在Haskell 在快照中使用路由和html(Heist),haskell,haskell-snap-framework,heist,Haskell,Haskell Snap Framework,Heist,我在我的snap app/Snaplet/heist/templates中有模板(*.tpl)(main.tpl,page1.tpl,page2.tpl,page3.tpl)。 这是我的Main.hs: import Snap.Http.Server import Snap.Core import Snap.Snaplet import Snap.Snaplet.Heist import Snap.Util.FileServe import Snap.Util.GZip import Heist
我的snap app/Snaplet/heist/templates
中有模板(*.tpl
)(main.tpl
,page1.tpl
,page2.tpl
,page3.tpl
)。
这是我的Main.hs
:
import Snap.Http.Server
import Snap.Core
import Snap.Snaplet
import Snap.Snaplet.Heist
import Snap.Util.FileServe
import Snap.Util.GZip
import Heist.Interpreted
import Heist
--.......
data App = App { _heist :: Snaplet (Heist App) }
makeLenses ''App
instance HasHeist App where
heistLens = subSnaplet heist
我怎样才能:
a) 是否在我的web应用程序中提供所有模板?也就是说,我希望能够访问上的page1.tpl
,page2.tpl
,page3.tpl
localhost://page1
,localhost://page2
,localhost://page3
。我是否必须为每个页面添加一条路径,或者我是否可以添加一条路径,以便一次访问所有页面
2)
main.tpl
是一个主模板(布局)。如何使page[123]
使用main.tpl
作为主布局模板?Heist snaplet的功能非常类似。这将为templates/at routes中的所有模板提供服务。Haddock有更多的细节,例如隐藏某些模板,这些模板本身没有意义
要将不同的模板组合在一起,请考虑类似函数的模板-您可以将它们应用于其他模板,其结果本身就是一个模板。这些事情都发生在抢劫本身,而不是瞬间
。我想知道函数应用程序类比是否有助于记住更多的heistapi
<apply>
<h1>I'm a function parameter</h1>
</apply>
<html><head></head>
<body>
<h1>Main template.</h1>
<apply-content/>
</body>
</html>