无法覆盖扩展定义中的属性

Cannot override attribute in extended definition

从 Tiles 2 升级到 Tiles 3 后,覆盖属性似乎停止工作了。

我的 tiles.xml 有这样的东西,其中 create-formbaseLayout 延伸。我得到的“title”属性为空(但其他属性“menu”、“left”、“body”都被正确覆盖)。为什么这不再适用于“标题”? “标题”现在是保留字吗?

<definition name="baseLayout" template="/WEB-INF/layout/wireframe.jsp">
    <put-attribute name="title" value="" />
    <put-attribute name="menu" value="/WEB-INF/layout/menu.jsp" />
    <put-attribute name="left" value="/WEB-INF/layout/left.jsp" />
    <put-attribute name="body" value="/WEB-INF/layout/body.jsp" />
</definition>

<definition name="create-form" extends="baseLayout">
    <put-attribute name="title">Create New Item</put-attribute>
    <put-attribute name="menu" value="/WEB-INF/jsp/forms/create-menu.jsp" />
    <put-attribute name="left" value="/WEB-INF/jsp/forms/create-leftNavBar.jsp" />
    <put-attribute name="body" value="/WEB-INF/jsp/forms/create-body.jsp" />
</definition>

这解决了我的问题。我不知道为什么覆盖 Tiles 3 中的属性只能使用 value 属性(不使用 <put-attribute> 标记的主体)。

<put-attribute name="title" value="Create New Item" />