正如我们看到的 Tiles 文档所说 https://tiles.apache.org/framework/tutorial/advanced/wildcard.html 我们可以定义一个通配符来接受任意名称。但如果名称中包含“/”,例如“c4/login”。瓷砖会抛出异常
org.apache.tiles.definition.NoSuchDefinitionException: c4/login
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:625)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321)
我的定义如下:
<definition name="*" template="/WEB-INF/tiles/basicLayout.jsp">
<put-attribute name="header" value="/WEB-INF/tiles/header.jsp" />
<put-attribute name="content" value="/WEB-INF/pages/{1}.jsp" />
<put-attribute name="footer" value="/WEB-INF/tiles/footer.jsp" />
</definition>
如果我将定义更改为下面的示例,则接受带有斜线的名称。
<definition name="c4/login" template="/WEB-INF/tiles/basicLayout.jsp">
<put-attribute name="header" value="/WEB-INF/tiles/header.jsp" />
<put-attribute name="content" value="/WEB-INF/pages/c4/login.jsp" />
<put-attribute name="footer" value="/WEB-INF/tiles/footer.jsp" />
</definition>
请指教。非常感谢。