Struts2.0.11.1/2 + Tiles 2.0.4(是Struts2.0.11的一部分)
Struts2.0.11.2比Struts2.0.11.1修改了一些安全性問題。
配置根據網上的例子Tiles的時候,出現兩個比較頭疼的問題,終于弄明白錯在什么地方了。
1. org.apache.tiles.taglib.UseAttributeTag$Tei 找不到的問題。
10:12:31,343 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.ClassNotFoundException: org.apache.tiles.taglib.UseAttributeTag$Tei
這個是因為在layout.jsp里面的taglib說明行里面:
原來使用的是/WEB-INF/tiles.tld。跟當前版本不對應。 從tiles-jsp-2.0.4.jar中解壓出tiles-jsp.tld。放到合適的位置,在聲明的時候寫對就可以了。
另外: WEB-INF/lib 添加jar: tiles-api-2.0.6.jar tiles-core-2.0.6.jar tiles-jsp-2.0.6.jar
2. Attribute 'header' not found.
10:36:05,734 ERROR [RenderTagSupport] Error during rendering
javax.servlet.jsp.JspException: Error executing tag: Attribute 'header' not found.
這個問題出在struts.xml中定義的
本文來自:http://www.xuebuyuan.com/675702.html
org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG
/WEB-INF/tiles.xml
這個tiles.xml中的DOCTYPE 說明字段是這樣的:
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config.dtd">
這樣是錯誤的,應該寫成
"-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
"http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
來自:http://www.xuebuyuan.com/675702.html