【发布时间】:2011-05-06 20:53:39
【问题描述】:
我正在尝试让 freemarker 在 Google App Engine 下工作。当直接请求时,我已经获得了简单的 ftl 模板文件,但是如果可用,我希望 index.ftl 工作,否则 index.html - 反之亦然。
- 如果我请求
/index.html,它会呈现为 HTML。 - 如果我请求
/index.ftl,它会呈现为 FreeMarker 模板。变量已展开。 - 但是,如果我请求“/”,它会给出以下 404 消息:
访问 /index.html/index.ftl 时出现问题。
我的 web.xml 文件中有以下内容:
<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.ftl</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>freemarker</servlet-name>
<servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class>
<init-param>
<param-name>TemplatePath</param-name>
<param-value>file://ftl</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>freemarker</servlet-name>
<url-pattern>*.ftl</url-pattern>
</servlet-mapping>
</web-app>
我的 Eclipse GAE 应用程序的 war/ 目录中有以下内容:
- /index.html
- /ftl/index.ftl
- /WEB-INF/...
如果我切换 index.ftl 和 index.html 条目的顺序,对 / 的请求会给出以下 404 消息:
Problem accessing /index.ftl/index.ftl.
感谢您的帮助。
另外一点信息是,如果我有一个<welcome-file> 条目index.html,它工作正常。当我以任何顺序添加index.ftl 时,就会出现错误。
感谢您的帮助。
【问题讨论】:
标签: java google-app-engine freemarker web.xml