【问题标题】:how does one get strings (not string literals) into blazehtml attributes/element contents?如何将字符串(不是字符串文字)放入 blazehtml 属性/元素内容?
【发布时间】:2011-03-19 18:56:33
【问题描述】:

blazehtml 教程和其他博客文章非常清楚地说明了如何使字符串文字起作用。我明白了。但是我如何将字符串(字节字符串、Data.Text 等也可以使用。)一般来说是元素的属性/内容。 Blazehtml 看起来很棒,但如果没有它,它似乎毫无用处。 =P

这里是显示确切问题的示例输出和代码:


{-# LANGUAGE OverloadedStrings #-}

import Prelude
import qualified Prelude as P
import Text.Blaze.Html5
import Text.Blaze.Html5.Attributes
import qualified Text.Blaze.Html5 as H
import qualified Text.Blaze.Html5.Attributes as A

makeLink dest cont = renderHtml $ a ! src dest $ cont
*Main> 让 foo = "foo" *Main> 让 bar = "bar" *Main> makeLink foo bar :1:9: 无法匹配预期类型“AttributeValue” 针对推断类型 `[Char]' 在 `makeLink' 的第一个参数中,即 `foo' 在表达式中:makeLink foo bar 在 `it' 的定义中:it = makeLink foo bar

【问题讨论】:

    标签: haskell types


    【解决方案1】:

    在文档的这一页中,可以找到必要的功能:http://hackage.haskell.org/packages/archive/blaze-html/0.1.2/doc/html/Text-Blaze.html

    它们是stringValue::String -> AttributeValue 和string::String -> Html a。问题解决了!

    【讨论】:

    • 函数stringValue 现已弃用。而是使用Text.Blaze.toValue :: a -> AttributeValue
    猜你喜欢
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 2021-06-27
    • 2011-08-17
    • 2013-07-06
    相关资源
    最近更新 更多