Geschachtelte JSTL-Tags

Status
Nicht offen für weitere Antworten.

TSH

Bekanntes Mitglied
Mit Tiles schieb ich einen Wert für die Variable beanType in die JSP-Datei

Code:
<definition name="navigationBox" page="/WEB-INF/jsp/template.jsp" controllerClass="...">
  <put name="title" value="Navigation" type="string" />
  <put name="beanType" value="navigationBeans" type="string" />
</definition>

Ich habe hier folgende JSP/JSTL-Anweisung:

Code:
<tiles:importAttribute name="???" scope="page" />

Jetzt frag ich mich, wie ich auf den Inhalt der Variable beanType zugreifen kann, um ihn anstatt ??? einzusetzen? Ich hatte versucht, die JSTL-Anweisungen zu schachteln:

Code:
<tiles:importAttribute name="<tiles:insert name="beanType"/>" scope="page" />

Hat aber eine Fehlermeldung erzeugt.
 

TSH

Bekanntes Mitglied
Hab gedacht, ich hätte es gelöst:

tiles.xml
Code:
<definition name="navigationBox" page="/WEB-INF/jsp/template.jsp" controllerClass="NavigationController.class"> 
  <put name="title" value="Navigation" type="string" /> 
  <put name="beanType" value="navigationBeans" type="string" /> 
</definition>

<definition name="newsfeedBox" page="/WEB-INF/jsp/template.jsp" controllerClass="NewsfeedController.class"> 
  <put name="title" value="Newsfeeds" type="string" /> 
  <put name="beanType" value="newsfeedBeans" type="string" /> 
</definition>

Beide sollen also den gleichen Typ einer Box verwenden (template.jsp), aber unterschiedlich betiteln und mit unterschiedlichen Inhalten befüllen. Die Controller packen jeweils eine List<MenuEntryBean> in den Component Scope, zB:
Code:
public void execute(ComponentContext componentContext, HttpServletRequest request, HttpServletResponse response, ServletContext servletContext) throws Exception {

  List<MenuEntryBean> navigationBeans = getNavigation();
  componentContext.putAttribute("navigationBeans", navigationBeans);
}

In der View-Komponente (template.jsp) wollte ich jetzt "einfach" den BeanType abfragen und in jeder Box die entsprechend im ComponentContext platzierten Beans ausgeben:

Code:
<tiles:importAttribute name="beanType"/>

<div class="box">
	<h1><tiles:insert name="title" /></h1>
	<ul>
		<logic:iterate name="${beanType}" id="menuEntry" type="MenuEntryBean">
			[*][url="${menuEntry.uri}"]<c:out value="${menuEntry.displayName}"/>[/url]
		</logic:iterate>
	[/list]
</div>
Klappt aber nicht. Der beanType, den ich in den tiles.xml Definitionen an die einzelnen Tiles weitergebe scheint beim 2. Mal überschrieben zu werden.

Wenn ich nur eine von beiden Tile-Definitionen drin habe, ist alles ok. Habe ich beide drin, wird die zuerst definierte Liste der beiden navigationBeans bzw. newsfeedBeans nicht gefunden.

Jemand eine Idee wonach ich weiter suchen kann?
 

TSH

Bekanntes Mitglied
Hab das jetzt statt in den ComponentContext (=Tiles scope) in den Request Scope gepackt (request.setAttribute("navigationBeans", navigationBeans);)

Und das kann ich dann auch wie im obigen JSP importieren. Dann gehts.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Geschachtelte Schleifen in einer JSF View ? Allgemeines EE 4
A Listen Ausgabe ohne forEach - JSTL Allgemeines EE 5
S JSTL foreach rückwärts? Allgemeines EE 2
Antoras JSTL Lib Versionschaos Allgemeines EE 2
S JSTL / Spring Webflow Frage Allgemeines EE 2
2 JSTL Tags für eine Bean? Allgemeines EE 4
T Hashtable value per JSTL auslesen Allgemeines EE 3
T logic:iterate durch JSTL ersetzen? Allgemeines EE 6
B JSTL Problem Allgemeines EE 8
byte JSTL EL und Enums Allgemeines EE 2
T Zu blöd für JSTL Allgemeines EE 6
M JSTL und Textausgabe mit Zeilenumbrüchen Allgemeines EE 9
T JSP/JSTL kennt nur ID, soll Inhalte holen Allgemeines EE 3
M JSTL core-Tag if: Wie kann ich boolsche Variable auswerten? Allgemeines EE 3
M JSTL und JSF Allgemeines EE 2
P Value an JSTL mit EL übergeben. Allgemeines EE 2
S JSTL <c:choose>? Allgemeines EE 3
G JSTL Fehler Allgemeines EE 2
S Methoden in JSTL Allgemeines EE 2
E Eine Art Thread.sleep() in JSTL? Allgemeines EE 4
S JSTL Foreach Allgemeines EE 3
S JSTL c:out Allgemeines EE 2
S JSTL Foreach Allgemeines EE 2
J Buchempfehlung: Servlets, JSP, Struts, JSTL Allgemeines EE 3
R ArrayList, JSTL - Verständnisproblem. Allgemeines EE 8
G JSP & JSTL welche Taglib nochmal? Allgemeines EE 4
T JSTL + Struts (inkl.Hibernate) -> forEach Problem Allgemeines EE 6
R Tomcat4, JSTL und EL Allgemeines EE 2
J Problem mit sql:query [JSTL] Allgemeines EE 6
D JSF-Tags können nicht aufgelöst werden ? Allgemeines EE 2
B aufgabenstellung zu selbstdefinierte tags Allgemeines EE 7
M custom tags - dynamische Attributwerte Allgemeines EE 2
A HTML Tags filtern Allgemeines EE 4
T JSF, Tiles und normales HTML in <f:verbatim> Tags? Allgemeines EE 2
B Tags in Tags? Allgemeines EE 11

Ähnliche Java Themen

Neue Themen


Oben