java - Velocity 模板引擎如何用于 Java Web 应用程序中的 View ?

标签 java html jsp servlets velocity

当你有这个示例代码时:

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/

相关文章:

java - 在 doStartTag 函数中获取 JSP TLIB 的自定义标记名称

eclipse - 在 Eclipse 中部署 JSP 应用程序时遇到问题

java - 图像处理和比较Android应用程序

java - 无法在 tomcat 8 中部署 spring boot app (1.2.5) war

Java - If语句逻辑错误

html - 单击时 react safari 无法专注于输入

jquery - 去除子菜单的不透明度

java - 在 XSD 中声明不同类型的集合

javascript - JavaScript API,currentTime 是如何实现的?

java - 处理 ServletException - Java Servlet API 3.+