我试图让freemarker在Google App引擎下工作。当直接请求时,我已经获得了简单的ftl模板文件,但是我希望index.ftl能够工作(如果可以的话),否则index.html - 反之亦然。freemarker无法在Google应用引擎上处理'/'的请求
- 如果我要求
/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>
我已经中war/
目录我的Eclipse GAE应用程序的以下内容:
- /指数。 html
- /ftl/index.ftl
- /WEB-INF/...
如果我切换index.ftl和index.html条目的顺序,对于/请求给出以下404消息:
Problem accessing /index.ftl/index.ftl.
感谢您的帮助。信息
一个额外的一点是,如果我有一个index.html
进入<welcome-file>
,它工作正常。当我按照任意顺序添加index.ftl
时,就是我收到错误的时候。
感谢您的任何帮助。
谢谢安迪。但是为什么welcome-file index.html本身能够工作,但是当我添加第二个welcome-file条目时出现错误?我认为这是一个不同的问题,因为index.jsp在其他问题中工作正常。 – Gray 2010-11-09 01:21:25
我越想它,也许它们是相关的。我仍然感到惊讶的是,通过添加第二个'welcome-file'条目来影响'index.html'的处理。 – Gray 2010-11-09 01:28:02
我最好的猜测是,因为“index.ftl”文件不在根目录下,而是在ftl文件夹中。 – Andy 2010-11-09 15:53:24