module Main where
import Happstack.Lite
import Text.Html
main :: IO ()
main = serve Nothing $ msum [
nullDir >> ok homePage
, notFound page404
]
homePage :: Response
homePage = toResponse $ do
p (toHtml "hello") +++
strong (toHtml "BOLD")
page404 :: Response
page404 = toResponse "<strong>How do I parse the tag STRONG?</strong>"
嗨,我是一个快乐的人。我想知道是否有一种方法可以显示带有html标签的字符串作为响应而不是使用html模板库?
在上面的代码中,页面404中的<strong>
标记已转义,因此我得到了&#34; <strong>How do I pase the tag BOLD?</strong>
&#34;作为回复,而一个主页呈现为&#34; 如何解析标签BOLD &#34;。
我必须先解析字符串吗?但是,如果html字符串很大,那会不会太慢?
提前致谢。
答案 0 :(得分:2)
ToMessage String
实例将响应类型设置为text / plain而不是text / html。
您可以为新的String
编写自己的实例,该实例本质上是原始实例的副本,但响应类型设置为text / html,或者使用库中的不同工具来更改响应类型。
此外,您可能应该注意到,对404错误发送200 HTTP响应会让人感到困惑。