WEB开发网
开发学院软件开发Java 设计 REST 风格的 MVC 框架 阅读

设计 REST 风格的 MVC 框架

 2010-01-08 00:00:00 来源:WEB开发网   
核心提示: JspTemplate 用于渲染页面,只需要传入 JSP 的路径,设计 REST 风格的 MVC 框架(10),将 Model 绑定到 HttpServletRequest,就可以调用 Servlet 规范的 forward 方法将请求转发给指定的 JSP 页面并渲染,客户端仅需要提供模板路径和

JspTemplate 用于渲染页面,只需要传入 JSP 的路径,将 Model 绑定到 HttpServletRequest,就可以调用 Servlet 规范的 forward 方法将请求转发给指定的 JSP 页面并渲染。代码见清单 14。


清单 14. 定义 JspTemplate
public class JspTemplate implements Template { 
  private String path; 
 
  public JspTemplate(String path) { 
    this.path = path; 
  } 
 
  public void render(HttpServletRequest request, HttpServletResponse response, 
      Map<String, Object> model) throws Exception { 
    Set<String> keys = model.keySet(); 
    for (String key : keys) { 
      request.setAttribute(key, model.get(key)); 
    } 
    request.getRequestDispatcher(path).forward(request, response); 
  } 
} 

另一种比 JSP 更加简单且灵活的模板引擎是 Velocity,它使用更简洁的语法来渲染页面,对页面设计人员更加友好,并且完全阻止了开发人员试图在页面中编写 Java 代码的可能性。使用 Velocity 编写的页面示例如清单 15 所示。


清单 15. Velocity 模板页面
<html> 
  <head><title>${title}</title></head> 
  <body><h1>Hello, ${name}!</body> 
</html> 

通过 VelocityTemplateFactory 和 VelocityTemplate 就可以实现对 Velocity 的集成。不过,从 Web 开发人员看来,并不需要知道具体使用的模板,客户端仅需要提供模板路径和一个由 Map<String, Object> 组成的 Model,然后返回一个 TemplateRenderer 对象。代码如清单 16 所示。

上一页  5 6 7 8 9 10 

Tags:设计 REST 风格

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接