Ik zit nu al een tijdje te zoeken naar de manier om uit dit probleem te geraken, maar ik kan de best passende oplossing maar niet vinden.
Het gaat om een Struts webapplicatie dat gebruik maakt van tiles voor de opbouw. Ik heb dan ook 1 main template definition gedefinieerd:
Mijn template pagina ziet er dan als volgt uit:
Aangezien de submenu altijd op deze plaats moet komen (vooral voor de integratie met het design), dien ik deze hier wel als tile te definiëren.
Wat wil ik eigenlijk bereiken?
Ik zou een submenu.jsp willen hebben, waarin o.a. de layout van de submenu bepaalt wordt, deze jsp moet dan geïnserteerd worden op de plaats die aangegeven is in de maintempate.
submenu.jsp ziet er bvb als volgt uit:
Waar op dit moment nog de comment staat, wil ik een soort van (tiles) container voorzien waarin de geschikte content dan geladen kan worden.
Deze content zou ik willen laden vanuit de pagina de de verdere content van dit submenu bevat.
Bvb een person_overview.jsp
Ik heb al geprobeerd om in de submenu.jsp een <tiles:insert attribute="submenu.content"/> te voorzien, en dan in de person_overview.jsp een <tiles:put name="submenu.content"><button ...></tiles:put>. Maar dit werkt natuurlijk niet.
Ik hoop dat het ongeveer duidelijk is hetgeen ik probeer te bereiken. Misschien wil ik het wel op een manier die onmogelijk is, maar dan zou ik toch graag hebben als jullie mij helpen meedenken en misschien wel tot een flexibelere oplossing kunnen komen.
Het gaat om een Struts webapplicatie dat gebruik maakt van tiles voor de opbouw. Ik heb dan ook 1 main template definition gedefinieerd:
XML:
1
2
3
4
5
6
7
| <definition name="mainLayout" path="/pages/tiles/maintemplate.jsp"> <put name="tile.header" value="/pages/tiles/header.jsp"/> <put name="tile.submenu" value="/pages/tiles/submenu.jsp"/> <put name="tile.messages" value="/pages/tiles/messages.jsp"/> <put name="tile.content" value=""/> <put name="tile.footer" value="/pages/tiles/footer.jsp"/> </definition> |
Mijn template pagina ziet er dan als volgt uit:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| <html:html xhtml="true"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title><bean:message key="portal.title"/></title> </head> <body> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td height="120" vAlign="top"><tiles:get name="tile.header"/></td> </tr> <tr> <td valign="top"> <tiles:insert attribute="tile.submenu" ignore="true"/> <table width="800" cellpadding="0" cellspacing="5" border="0"> <tr align="center"> <td valign="top"> <tiles:get name="tile.messages" /></td> </tr> <tr> <td valign="top"><tiles:get name="tile.content" /></td> </tr> </table> </td> </tr> </table> </body> </html:html> |
Aangezien de submenu altijd op deze plaats moet komen (vooral voor de integratie met het design), dien ik deze hier wel als tile te definiëren.
Wat wil ik eigenlijk bereiken?
Ik zou een submenu.jsp willen hebben, waarin o.a. de layout van de submenu bepaalt wordt, deze jsp moet dan geïnserteerd worden op de plaats die aangegeven is in de maintempate.
submenu.jsp ziet er bvb als volgt uit:
Java:
1
2
3
4
| <%@taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles"%> <div id="subMenu" style="margin-top: -3px; width: 100%; height: 32px; background: url(images/submenubg.gif);"> // insert buttons, links, comboboxes, ... here </div> |
Waar op dit moment nog de comment staat, wil ik een soort van (tiles) container voorzien waarin de geschikte content dan geladen kan worden.
Deze content zou ik willen laden vanuit de pagina de de verdere content van dit submenu bevat.
Bvb een person_overview.jsp
Java:
1
2
3
4
5
6
7
8
9
| <logic:present parameter="id"> <h1><bean:message key="title.person.edit"/>: <bean:write name="personForm" property="firstName"/> <bean:write name="personForm" property="lastName"/> </h1> // -- deze button moet eigenlijk in het submenu terechtkomen/geladen worden <button onclick="location.href='action.do?method=new'"><bean:message key="person.new"/></button> // -- ^ </logic:present> |
Ik heb al geprobeerd om in de submenu.jsp een <tiles:insert attribute="submenu.content"/> te voorzien, en dan in de person_overview.jsp een <tiles:put name="submenu.content"><button ...></tiles:put>. Maar dit werkt natuurlijk niet.
Ik hoop dat het ongeveer duidelijk is hetgeen ik probeer te bereiken. Misschien wil ik het wel op een manier die onmogelijk is, maar dan zou ik toch graag hebben als jullie mij helpen meedenken en misschien wel tot een flexibelere oplossing kunnen komen.