我正在尝试将struts 1.x与tile 1.1集成,但我遇到了问题。
这是struts-config.xml的片段:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
<struts-config>
<!-- ..... -->
<!-- ..... -->
<action path="/listcategories"
type="com.wrox.begjsp.ch28.bookstore.controller.ListCategoriesAction"
scope="request">
<forward name="success" path="list.categories"/>
</action>
<!-- ..... -->
<plug-in className="org.apache.struts.tiles.TilesPlugin" >
<set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
<set-property property="definitions-debug" value="2" />
<set-property property="definitions-parser-details" value="2" />
<set-property property="definitions-parser-validate" value="true" />
</plug-in>
</struts-config>
这里是tiles-defs.xml的片段(从struts-config.xml引用):
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="view.abstract" path="/WEB-INF/jsp/layout/standard-layout.jsp">
<put name="header" value="/WEB-INF/jsp/tiles/header.jsp" />
<put name="menu" value="bookstore.menu" />
<put name="base" value="/WEB-INF/jsp/tiles/base.jsp" />
</definition>
<definition name="list.categories" extends="view.abstract">
<put name="body" value="/WEB-INF/jsp/tiles/category-list.jsp" />
</definition>
</tiles-definitions>
当com.wrox.begjsp.ch28.bookstore.controller.ListCategoriesAction动作成功时,我们得到一些奇怪的异常,说明路径属性不能有一个不以/开头的值为“list.categories”,意思是,它不能解释那不是路径,而是解释在tiles-defs.xml中定义的定义。
我不是瓦片大师,但我认为它应该知道如何解释这个值!