当你有这个示例代码时:
RequestDispatcher requestDispatcher = request.getRequestDispatcher("index.jsp");
requestDispatcher.forward(request, response);
并且您有一个简单的 index.jsp
文件,Tomcat 会识别出这是一个 jsp 文件,并且首先将其翻译为 Java 类,然后进行编译然后它将被执行..这一切都很好。
在此页面中:http://edwin.baculsoft.com/2011/06/beginning-apache-velocity-creating-a-simple-web-application/有一个简单的示例/教程,展示了如何使用速度模板引擎来渲染使用速度模板语言的 View 。
有一件事我不明白,在哪一步容器(或jvm?)知道它应该使用Velocity Template Engine来解释.vm
文件并对文件进行正确的处理吗?它怎么知道它不是 JSP 文件?仅通过 JSP 文件中的扩展名?
我不是在问如何将请求转发到 .vm
文件。我问的是 Velocity Engine 何时以及如何启动,使用我们在请求对象中提供的数据对象从 .vm
文件创建 HTML。为什么 .vm 文件没有像 jsp 文件一样被转换为 Java 类? Tomcat 如何判断尝试转换为 _jsp.class
文件而不是使用 Velocity 模板引擎不是正确的做法?
最佳答案
它是一个 org.apache.velocity.tools.view.servlet.VelocityViewServlet
,在映射到它的 *.vm
文件上调用。第一个 Servlet 充当 Controller ,并分派(dispatch)到第二个 Servlet 以呈现 View 。
关于java - Velocity 模板引擎如何用于 Java Web 应用程序中的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26201830/