下面我们以一个简单的程序让你迈进EasyJWeb的殿堂。该程序主要实现在显示上显示服务器端的时间。
建立/web-inf/easyjweb/hello.html
内容如入:
<html>
<head>
<title>我的第一个EasyJWeb程序界面</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
$!msg<br>
当前时间:$!time
</body>
</html>
建一个
Package com.easyjweb.action
package com.easyjweb.action;
import java.util.Date;
import com.easyjf.web.IWebAction;
import com.easyjf.web.Module;
import com.easyjf.web.Page;
import com.easyjf.web.WebForm;
public class helloAction implements IWebAction {
public Page execute(WebForm form, Module module) throws Exception {
form.addResult("msg","喂,您好,我是EasyJWeb,请支持国产开源项目!");//设置VO对象msg的值。
form.addResult("time",new Date());//设置VO对象time的值为当前时间
return module.findPage(module.getDefaultPage());
}
}
编译该文件:
Com.easyjweb.action.helloAction.class
重启动tomcat
运行:http://localhost:8080/hello.ejf 可以看到程序结果
代码简单讲解:
Hello.html是模板文件,这该示例中必须位于/web-inf/easyjweb/目录下。之所以使用.html格式作为默认模板,是因为基于界面设计的考虑,因为大多数“所见即所得”的Web页面设计工具都支持.html格式。您也可以根据您的实际需要改变模板文件的扩展名。
文件中粗体部份为Velocity脚本代码,表示在该处显示脚本变量中内容($!msg表示显示msg变量的内容;$!time表示显示time变量的内容。)。关于Velocity脚本代码的详细请参考Velocity脚本教程。
类helloAction.java主要扮演控制器角色,默认必须位于com.easyjweb.action包下面。该类实现EasyJWeb的IWebAction接口,表示该类支持EasyJWeb框架,只有实现了IWebAction接口的类才能作为EasyJWeb的Action。
helloAction必须实现了IWebAction接口的一个方法,即execute()。我们在execute为模板页面中的变量设置值,直接使用form.addResult(变量名,对象)即可。
在上面的程序中。Action属于MVC中的Control,hello.html属于MVC中的View,由于没有太多的数据需要处理,也没有复杂的商务逻辑,因此,Action也担当了Mode的角色。在大型的项目中,应该把Model放到单独的层中以供Control及View层使用。