我有以下磁贴定义
<definition name="homePage" extends="basetemplate">
<put-attribute name="centeredContentSection" value="hometemplate"/>
<definition name="insidetemplate" templateExpression="/WEB-INF/jsp/templates/centercontentemplate.jsp">
<put-attribute name="maincomponent" expression="/WEB-INF/jsp/tiles/resource.jsp"/>
<put-attribute name="rightcomponent" expression="/WEB-INF/jsp/tiles/right.jsp"/>
</definition>
<definition name="welcome" extends="basetemplate" >
<put-attribute name="centeredContentSection" value="insidetemplate"/>
</definition>
<definition name="resourceListing" extends="welcome">
<put-attribute name="maincomponent" expression="/WEB-INF/jsp/tiles/resourcelist.jsp"/>
</definition>
在 resourceListing 定义中,我指定了一个 maincomponent 属性,我认为应该覆盖定义 insidetemplate 定义的属性,该定义是嵌套的内部欢迎定义。但是,我为 maincomponent ( /WEB-INF/jsp/tiles/resource.jsp )指定的值似乎没有被我在中指定的值覆盖resourceListing 定义。反正有没有让这个开心呢?
答案 0 :(得分:0)
你所描述的并不像正确的行为。
Defintion.inherit(definition)
不应该覆盖属性,请参阅BasicAttributeContext.addMissing(..)