首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >put-attribute标记中级联属性出现Tiles2错误

put-attribute标记中级联属性出现Tiles2错误
EN

Stack Overflow用户
提问于 2010-10-28 21:59:59
回答 3查看 4.3K关注 0票数 3

我只是不知道为什么我会得到这个错误:

代码语言:javascript
复制
2010-10-28 16:32:29,925 ERROR [ache.commons.digester.Digester.error          :1635] - Parse Error at line 45 column 56: Attribute "cascade" must be declared for element type "put-attribute".
org.xml.sax.SAXParseException: Attribute "cascade" must be declared for element type "put-attribute".

tiles.xml看起来像这样(只有相关的部分):

代码语言:javascript
复制
<tiles-definitions>
<definition name="customerBaseLayout" template="/pages/customer/templates/baseLayout.jsp">
    <put-attribute name="title" value="Pannello Operatore"/>
    <put-attribute name="header" value="/pages/customer/templates/header.jsp"/>
    <put-attribute name="footer" value="/pages/customer/templates/footer.jsp"/>
</definition>
<definition name="userBaseLayout" extends="customerBaseLayout">
    <put-attribute name="header" value="/pages/guest/templates/user/header.jsp"/>

    <put-attribute name="sidebar" cascade="true" />
</definition>

我也尝试过设置value属性,但没有用。我在文档here中找到的cascade属性

我使用的是带有struts 2.1和tiles 2.0.6的netBeans 6.9,ide不知道代码提示中的cascade属性。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-02 20:57:34

您使用的是Tiles 2.0.6,但"cascade“仅在2.1DTD中。

票数 10
EN

Stack Overflow用户

发布于 2011-06-15 23:58:55

这里也有同样的问题。我将dtd位置指定为http://tiles.apache.org/dtds/tiles-config_2_1.dtd。我的IDE正确地识别了它,并允许使用cascade属性。但是一旦运行,同样的错误信息也会显示出来。

票数 7
EN

Stack Overflow用户

发布于 2010-10-29 17:27:58

我认为问题的出现是因为您扩展了tiles customerBaseLayout,而tiles不知道您是否要将为该定义设置的值用作默认值。例如,您已经设置了put title属性,但是由于您没有将cascade=设置为“true”,因此它在userBaseLayout中不可用。将customerBaseLayout cascade="true“添加到您想要在userBaseLayout中拥有的属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4043604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档