2012-05-31 2 views
1

Я хочу иметь несколько вложенных шаблонов с плитками, но на данный момент не имеет никакого шанса.Вложенные шаблоны с плитками

Мой главный шаблон:

[...] 
<div id=body><tiles:insertAttribute name="body"/></div> 
[...] 

Мой вложенная шаблон:

[...] 
<div id=sub><tiles:insertAttribute name="sub"/></div> 
[...] 

Мое определение мнение:

<tiles-definitions> 
    <definition name="mainTemplate" template="/mainTemplate.jspx"> 
    </definition> 
    <definition extends="mainTemplate" name="subTemplate"> 
     <put-attribute name="body" value="/subTemplate.jspx"/> 
    </definition> 
    <definition extends="mainTemplate" name="myView"> 
     <put-attribute name="sub" value="blablabla"/> 
    </definition> 
</tiles-definitions> 

Что я ожидал:

<div id=body><div id=sub>blablabla</div></div> 

Что я получил:

<div id=body><div id=sub></div></div> 

Я видел documentation on the tiles website по этой теме, но я не могу заставить его работать :(

+0

Попробуйте заменить блаблабла с т /view.jsp и в этом файле просто поместить текст блаблабла. –

+0

Собственно, это уже то, что я делаю. – tibo

ответ

3

На самом деле, «subTemplate» и «MyView» два различных определения, простирающиеся «mainTemplate» - оба. Насколько я понимаю, вы хотите, чтобы плитка «myView» была вложена внутри плитки «subTemplate».

Вы могли бы попробовать что-то вроде этого:

<tiles-definitions> 
    <definition name="mainTemplate" template="/mainTemplate.jspx"> 
    <definition name="subTemplate" extends="mainTemplate"> 
     <put-attribute name="body"> 
      <definition template="/subTemplate.jspx"> 
       <put-attribute name="myView" value="blablabla" /> 
      </definition> 
     </put-attribute> 
    </definition> 
</tiles-definition> 
+2

После более чем двух месяцев размышлений, я подтверждаю, это хорошее решение! : D – tibo

Смежные вопросы