Velocity 的应用示例
import javax.servlet.http.HttpServletResponse;
import org.apache.velocity.context.Context;
public class AboutSubPage extends ProcessSubPage
{
public AboutSubPage()
{
}
public String getHtml(VelocityServlet servlet, HttpServletRequest request,HttpServletResponse response, Context context)
{
//prepare data//context.put("xxx","xxxx");
Template template = null;
String fileName = "About.htm";
try
{
template = servlet.getTemplate(fileName);
StringWriter sw = new StringWriter();
template.merge(context, sw);
return sw.toString();
}
catch (Exception ex)
{
return "error get template " fileName " " ex.getMessage();
}
}
}
其他 ProcessSubPage 的子类如上面基本类似,只不过会多了一些 context.put("xxx","xxxx") 的语句。
通过以上的例子,我们可以看到,使用 Velocity Servlet , 所有的代码为: 1 个 java serverlet m 个 java class n 个 Html 文件。
这里是用了集中处理,然后分发(dispatch)的机制。不用担心用户在没有登陆的情况下访问某些页面。用户验证,页眉页脚包含都只写一次,易于编写、修改和维护。代码比较简洁,并且很容易加上自己的页面缓冲功能。可以随意将某个页面的 html 在内存中保存起来,缓存几分钟,实现页面缓冲功能。成功、出错页面也可以用同样的代码封装成函数,通过参数将 Message/Title 传入即可。
文章评论
共有位Admini5网友发表了评论 查看完整内容