Olá pessoal!
Gostaria de saber se eu posso fazer algo do tipo, no meu tiles-definitions.xml:
...
<definition name="father.def">
<putList name="path">
<item value="path_header" link=""/>
<item value="path_header_servicos" link="" />
</putList>
<putList name="especificCSS">
<item value="pages" link="/css/pages.css"/>
</putList>
...
</definition>
<definition name="son.def" extends="father.def">
<putList name="path">
</putList>
<putList name="especificCSS">
<item value="tabelas" link="/css/tabelas.css"/>
<item value="pages" link="/css/pages.css"/>
</putList>
...
</definition>
...
Bom, o que diabos eu to querendo fazer?
Eu tenho uma definição pai que tem uma lista path de caminhos que uso, por exemplo, pra inserir um navbar e uma outra lista especificCSS pra “espetar” arquivos css às páginas baseadas nesta definição.
O que eu estou tentando fazer com o código acima é criar uma definição son.def, baseada em father.def, que
-“Suma” com o navbar
-“Espete” um css adicional
O problema é que quando tento acessar a página inicial do meu sistema eu tomo uma exceção (acho que qualquer página na verdade, mas apenas uma vez isto ocorre):
org.xml.sax.SAXParseException: The content of element type "definition" must match "(icon?,display-name?,description?,put*,putList*)".
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.commons.digester.Digester.parse(Digester.java:1666)
at org.apache.struts.tiles.xmlDefinition.XmlParser.parse(XmlParser.java:277)
at org.apache.struts.tiles.xmlDefinition.I18nFactorySet.parseXmlFile(I18nFactorySet.java:511)
at org.apache.struts.tiles.xmlDefinition.I18nFactorySet.parseXmlFiles(I18nFactorySet.java:446)
at org.apache.struts.tiles.xmlDefinition.I18nFactorySet.createDefaultFactory(I18nFactorySet.java:263)
at org.apache.struts.tiles.xmlDefinition.I18nFactorySet.initFactory(I18nFactorySet.java:238)
at org.apache.struts.tiles.xmlDefinition.I18nFactorySet.initFactory(I18nFactorySet.java:188)
at org.apache.struts.tiles.definition.ComponentDefinitionsFactoryWrapper.init(ComponentDefinitionsFactoryWrapper.java:102)
at org.apache.struts.tiles.TilesUtilImpl.createDefinitionsFactory(TilesUtilImpl.java:136)
at org.apache.struts.tiles.TilesUtil.createDefinitionsFactory(TilesUtil.java:165)
at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.getDefinitionsFactory(JspTilesViewHandlerImpl.java:97)
at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:165)
...
Eu não posso “sobrescrever” os elementos de uma definition? Se não, como é que eu posso sumir com o navbar e espetar um css adicional?
Valeu pessoal!