【问题标题】:Output data of Erlang List as a HTML in Yaws在 Yaws 中将 Erlang List 的数据输出为 HTML
【发布时间】:2013-05-02 14:44:43
【问题描述】:

看看我下面的 index.yaws 文件

<html>
<body>
    <h4>Data:</h4>

    <erl>
        out(Arg) -> 
            Data = utilities:get_raw_data(),
            {html, io_lib:format("~p", [Data])}.        
    </erl>    

    <erl>
        out(Arg) -> 
        Data = utilities:get_raw_data(),
        lists:foreach(fun(X) -> {Id, Fname, Lname} = X, io:format("ID: ~p ", [Lname]) end, Data).
    </erl>

</body>  
</html>

代码的第一部分正确运行并产生输出,例如

[{3,"Matt","Williamson3"}, {2,"Matt","Williamson2"}, {1,"Matt","Williamson"}]

第二部分没有错误,但网页仍然空白。我相信该部分

io:format("ID: ~p ", [Lname]) 

不会打印到浏览器。

我要改变什么才能让它工作?

【问题讨论】:

    标签: erlang yaws


    【解决方案1】:

    试试这个而不是 foreach 行:(未经测试)

        {html, lists:map(fun(X) -> {Id, Fname, Lname} = X, io_lib:format("ID: ~p ", [Lname]) end, Data)}.
    

    也就是说,不是使用io:format 打印,而是在{html, Iodata} 元组中返回数据,就像在第一个&lt;erl&gt; 块中一样。

    【讨论】:

    • 谢谢!该解决方案工作正常。想投票,但我没有做必要的最低 15 分 :-)
    • 顺便说一句,这是我想做的: out(Arg) -> Data = utility:get_raw_data(), {html, lists:map( fun(X) -> {Id, Fname, Lname} = X, io_lib:format("~s", [""]) 结束,数据)}。
      " ++ Lname ++ " " ++ Fname ++ "
    • 很高兴听到它有效!即使您的声望点少于 15,您也可以“接受”答案。
    猜你喜欢
    • 2016-10-03
    • 2014-07-16
    • 2015-03-30
    • 2011-09-14
    • 2016-12-04
    • 1970-01-01
    • 2020-07-24
    • 2016-05-06
    • 2011-12-12
    相关资源
    最近更新 更多