Pregunta

Así que encontré esto: http: //tiles.apache. org / marco / tutorial / avanzado / anidación-extending.html

Aquí es el ejemplo:

<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>

Así que he definido lo siguiente:

<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>

Pero lo más gracioso es que, incluso su propia documentación es incorrecta:

2009-05-12 11: 20: 56 088 [principal] ERROR - org.apache.commons.digester.Digester.error (Digester.java:1635): Error de análisis en la línea 17 en columna 68: Atributo " nombrar" es necesario y debe ser especificada para el tipo de elemento de 'definición'. org.xml.sax.SAXParseException: atributo "name" es obligatorio y debe ser especificada para el tipo de elemento de "definición"

.

A pesar de que definir un nombre para él, todavía da el siguiente error:

2009-05-12 11: 35: 31 818 [principal] ERROR - org.apache.commons.digester.Digester.error (Digester.java:1635): Error de análisis en columna de la línea 21 19: El contenido del tipo de elemento "poner-atributo" debe coincidir con "nula".  org.xml.sax.SAXParseException:. El contenido del elemento de tipo "put-atributo" debe coincidir con "nula"

¿Qué es esto? !!!!

¿Fue útil?

Solución 2

El esquema se utiliza requiere que poner-atributo es un nodo hoja, es decir, no pueden contener elementos secundarios - por lo que no puede hacer eso. Averiguar si una versión más reciente del esquema (debe estar en docs Azulejos o ejemplos) permite que las plantillas anidadas azulejos.

-Kalle

Así que, básicamente, estoy usando una versión más antigua de las tejas y el uso de la nueva versión del esquema: Ésta es la sintaxis de la tercera edad esquema anidado: http://tiles.apache.org/2.0/framework/ tutorial / avanzado / anidación-extending.html

Otros consejos

Cambio de la versión 2.1 a DTD resuelto mi problema!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top