Apache Tiles的Stackoverflow异常

时间:2014-04-23 16:18:39

标签: java spring-mvc tiles tiles-3

我的瓷砖有问题

我有一个模板(mainLayout),它基本上执行以下操作:

<html>
<body>
   ...
   <jsp:include page="/services" />
   ...
</body>
</html>

url /services由使用Tiles3的Spring控制器提供服务。 /services网址使用不同的布局(rawLayout),只输出一个jsp。

问题是代码生成了stackoverflow错误。实际上,当尝试使用原始布局呈现/services url时,Tiles实际上是切换到mainLayout。

我调试了Tiles,即使定义正确(rawLayout),BasicTilesContainer::getAttributeContext方法也会切换回原始布局(mainLayout)。似乎Tiles没有使用定义中的模板,而是从执行堆栈中获取它。

我的瓷砖定义:

<definition name="main" template="/WEB-INF/tiles/layout/mainLayout.jsp">
    <put-attribute name="content" value=""/>
</definition>
<definition name="full" template="/WEB-INF/tiles/layout/fullLayout.jsp">
    <put-attribute name="content" value=""/>
</definition>

<definition name="services" extends="full">
    <put-attribute name="content" value="/WEB-INF/jsp/services.jsp" />
</definition>

我希望这很清楚。

由于

0 个答案:

没有答案