Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套apachetiles模板_Apache_Jsp_Struts2_Tiles2 - Fatal编程技术网

嵌套apachetiles模板

嵌套apachetiles模板,apache,jsp,struts2,tiles2,Apache,Jsp,Struts2,Tiles2,所以我发现: 以下是一个例子: <definition name="myapp.homepage" template="/layouts/classic.jsp"> <put-attribute name="title" value="Tiles tutorial homepage" /> <put-attribute name="header" value="/tiles/banner.jsp" /> <put-attribute name

所以我发现:

以下是一个例子:

<definition name="myapp.homepage" template="/layouts/classic.jsp">
  <put-attribute name="title" value="Tiles tutorial homepage" />
  <put-attribute name="header" value="/tiles/banner.jsp" />
  <put-attribute name="menu" value="/tiles/common_menu.jsp" />
  <put-attribute name="body">
    <definition template="/layouts/three_rows.jsp">
      <put-attribute name="one" value="/tiles/headlines.jsp" />
      <put-attribute name="two" value="/tiles/topics.jsp" />
      <put-attribute name="one" value="/tiles/comments.jsp" />
    </definition>
  </put-attribute>
  <put-attribute name="footer" value="/tiles/credits.jsp" />
</definition>

所以我定义了这个:

<definition name="mgmt.base.layout" extends="base.layout">
     <put-attribute name="body">
         <definition template="/WEB-INF/mgmt/config/mgmtBody.jsp"/>
             <put-attribute name="adminLeft"  value="/WEB-INF/mgmt/config/left.jsp"/>
             <put-attribute name="adminRight" value="/tiles/blank.html"/>
         </definition>
     </put-attribute>
</definition>

但有趣的是,即使他们自己的文档也是错误的:

2009-05-12 11:20:56088[main]ERROR-org.apache.commons.digester.digester.ERROR(digester.java:1635):第17行第68列的解析错误:属性“name”是必需的,必须为元素类型“definition”指定。org.xml.sax.SAXParseException:属性“name”是必需的,必须为元素类型“definition”指定该属性。

即使我为它定义了一个名称,它仍然会出现以下错误:

2009-05-12 11:35:31818[main]ERROR-org.apache.commons.digester.digester.ERROR(digester.java:1635):第21行第19列的解析错误:元素类型“put attribute”的内容必须与“null”匹配。 org.xml.sax.SAXParseException:元素类型“put attribute”的内容必须匹配“null”。


这是什么意思

您使用的模式要求put属性是叶节点,即不能包含子元素,因此您不能这样做。了解架构的较新版本(必须在Tiles文档或示例中)是否允许嵌套Tiles模板

-卡尔

因此,基本上我使用的是旧版本的tiles和新版本的schema: 以下是旧嵌套架构的语法:

您使用的模式要求put属性是叶节点,即不能包含子元素,因此您不能这样做。了解架构的较新版本(必须在Tiles文档或示例中)是否允许嵌套Tiles模板

-卡尔

因此,基本上我使用的是旧版本的tiles和新版本的schema: 以下是旧嵌套架构的语法:
将DTD版本更改为2.1解决了我的问题

将DTD版本更改为2.1解决了我的问题