在Yaws框架中提供的动态WEB页文档中,我们可以用<erl></erl>嵌入Erlang代码来定义函数,然后使用out(Args)函数来调用它,以达到实现动态页面目的。
按照目前流行的WEB后端开发的基本方式,Erlang代码定义的业务函数和静态页面的HTML代码应尽量分开存储在不同的文件中,在Yaws中也是可以实现的。
一、修改配置文件
Yaws在渲染页面内容时,会根据配置文件来自动搜索模块并实现对其中的函数调用,所以要实现代码分离,首先要修改配置文件,如下图所示:
配置文件的第14行添加了搜索目录为d:\Yaws2/myebin(注意这里路径的写法)。
二、编写相关外部被调用函数
这里只是一个简单的示例,其文件放在自动搜索目录d:\Yaws2/myebin中,即:
%% d:\Yaws2/myebin/my_out.erl
-module(my_out).
-export([out/0]).
out() ->
"<p>Hello Out!</p>".并将其编译为.beam文件。
三、实现调用外部模块函数的页面
文件路径:d:\Yaws2/www/myout.yaws
<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<erl>
out(Arg) ->
{html,my_out:out()}.
</erl>
</body>
</html>可见,在erl标签中,直接调用了外部模块my_out中的out()函数。
四、测试
浏览URL:localhost:8080/myout.yaws,如图:
实现了动态页面的效果。
本文介绍如何在Yaws框架中利用Erlang实现动态网页内容的生成。通过修改配置文件指定搜索路径,将业务逻辑与HTML分离,并演示了如何调用外部Erlang模块中的函数。
 学习记录之使用自定义函数输出WEB页内容&spm=1001.2101.3001.5002&articleId=70046077&d=1&t=3&u=bb07c1f89c6c46f5a876011f75e0359f)
678

被折叠的 条评论
为什么被折叠?



