Yaws(erlang web服务器框架) 学习记录之使用自定义函数输出WEB页内容

在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,如图:

实现了动态页面的效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值