Yaws(erlang web服务器框架) 学习记录之使用自定义函数输出WEB页内容
2017-04-11 10:09
489 查看
在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,如图:
实现了动态页面的效果。
按照目前流行的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 web服务器框架) 学习记录之Cookie使用
- Yaws(erlang web服务器框架) 学习记录之输出网页代码
- Yaws(erlang web服务器框架) 学习记录之文件上传
- Yaws(erlang web服务器框架) 学习记录之获取GET/POST请求参数
- Yaws(erlang web服务器框架) 学习记录之一
- Oracle学习记录——使用自定义函数和触发器实现主键动态生成
- web 框架 Django 学习记录 (二)把数据库中表内容展示在页面
- Oracle学习记录之使用自定义函数和触发器实现主键动态生成
- Oracle学习记录之使用自定义函数和触发器实现主键动态生成
- Web端服务器推送技术原理分析及dwr框架简单的使用
- EF学习杂记30:如何在EF中使用数据库自定义函数
- 简单标签的使用自定义标签控制页面内容(标签体)是否输出、
- python 学习记录(11)-文件处理/读取文件/文件写入内容/文件删除/文件复制/文件重命名/后缀名/内容查找与替换/文件比较/ 配置文件访问/目录创建与删除/遍历目录/定向输出
- Oracle SQL Lesson (3) - 使用单行函数自定义输出
- 如何:使用自定义函数对 ASP.NET 服务器控件进行验证
- 使用IIS7.0建站出现“HTTP 错误 403.14 - FORBIDDEN WEB 服务器被配置为不列出此目录的内容”错误的解决方法
- [EntLib]微软企业库5.0 学习之路——第九步、使用PolicyInjection模块进行AOP—PART4——建立自定义Call Handler实现用户操作日志记录
- 使用SQL SEVER的表值自定义函数与Exchange Web Service
- JAVA_WEB Struts2学习:使用验证框架进行校验JSP页面元素 反编译工具的配置 Strtuts2 国际化学习
- 传智播客java web 学习,自定义标签的开发和使用