Velocity 的应用示例
Velocity 是一个基于 Java 的通用模板工具,来自于 jakarta.apache.org 。
Velocity 的介绍请参考 Velocity -- Java Web 开发新技术。这里是它的一个应用示例。
这个例子参照了 PHP-Nuke 的结构, 即所有 HTTP 请求都以 http://www.some.com/xxx/Modules?name=xxx&
arg1=xxx&
bbb=xxx 的形式进行处理。例子中所有文件都是 .java 和 .html , 没有其他特殊的文件格式。除了 Modules.java 是 Java Servlet, 其余的 .java 文件都是普通的 Java Class.
所有 HTTP 请求都通过 Modules.java 处理。Modules.java 通过 Velocity 加载 Modules.htm。 Modules.htm 有页头,页脚,页左导航链接,页中内容几个部分。其中页头广告、页中内容是变化部分。页头广告由 Modules.java 处理,页中内容部分由 Modules.java dispatch 到子页面类处理。
1) Modules.java
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.velocity.*;
import org.apache.velocity.context.*;
import org.apache.velocity.exception.*;
import org.apache.velocity.servlet.*;
import commontools.*;
public class Modulesextends VelocityServlet
{
public Template handleRequest(HttpServletRequest request,HttpServletResponse response,Context context)
{
//initresponse.setContentType("text/html;
charset=UTF-8");
response.setCharacterEncoding("utf-8");
//prepare function pageProcessSubPage page = null;
ProcessSubPage mainPage = new HomeSubPage();
String requestFunctionName = (String) request.getParameter("name");
文章评论
共有位Admini5网友发表了评论 查看完整内容