Java JSP - If-Bedingung für include - Syntax fehler?

furryhamster

Lt. Commander
Registriert
Okt. 2008
Beiträge
1.101
Hi,

in der navigationsleiste habe ich an die links einen get parameter angehängt. auf der index.jsp möchte ich dies auswerten und je nach parameter etwas anderes includen um so den seiteninhalt zu ändern.

leider will das nicht so wie ich mir das wünsche. bei den includes erscheint immer "include can not be resolved as a type" und auch der navigationsleisteninclude wird mir als fehlerhaft markiert (verschwindet sobald die if bedingung entfernt wird).

hier mal der code (unterstrichen = fehler in eclipse):

Code:
<div id="main">

<!-- Head -->
<%@ include file="include/head.jsp" %>

<div id="wrapper">
	<div id="contentout">
	<% String target=request.getParameter("target");
	if(request.getParameter("target") != null && request.getParameter("target") != "")
		
		if (target.equals("verwaltung"))
		{
				[U]include [/U]file="content/verwaltung-content.jsp";
		}
		else 
		{	
			[U]include [/U]file="content/index-content.jsp";
		}
	else 
	{
		[U]include [/U]file="content/index-content.jsp";
	}
%>
		<%@ include file="include/rightnavigation.jsp" %>
	</div>
</div>

<!-- Navigationsleiste -->
<%@ include file=[U]"include/navigation.jsp"[/U] %>

</div>
 
sicher dass man das include und das if einfach so verwenden kann? ich kenne das nur als tag

zb. <c:if> </c:if> und versuch das include auch als tag zu schreiben

kannst ja mal testen^^
 
max2k3 schrieb:
sicher dass man das include und das if einfach so verwenden kann? ich kenne das nur als tag
Nein, bin gar nicht sicher. weiß es überhaupt nicht. bin davon ausgegangen ^^ kann (noch) kein jsp, nur java ^^

max2k3 schrieb:
zb. <c:if> </c:if> und versuch das include auch als tag zu schreiben

ist meine erste if bedingung in jsp, weiß leider nicht wie du das meinst. wofür steht das c bei <c:if>? include als tag gleich so: "<include file="content/verwaltung-content.jsp";>" ?

könntest du wohl ein konkreteres beispiel nennen? ^^ danke schonmal :)
 
JSP funktioniert im Prinzip ähnlich wie PHP.

Mit <% startet man einen Codeblock und mit %> schließt man ihn wieder. Dazwischen darf dann nur Java-Code stehen.

Die Include-Anweisung ist weder HTML noch Javacode, sondern eine JSP-Direktive - erkennbar daran, dass es mit <%@ anfängt.

Eine Direktive darf nicht in vom <% und %> eingeschlossenem Javacode stehen, sondern direkt im Templatetext (in diesem Fall Dein HTML.

Schließ also vor dem include den Javacodeblock und öffne ihn danach wieder. Die Include-Anweisung muss dann natürlich wieder mit <%@ als Direktive geschrieben werden.



Worin läßt du deine JSP-Seiten laufen? In Tomcat?
 
Zuletzt bearbeitet: (Tippfehler)
jup, läuft in tomcat.

habs jetzt so gemacht wie von dir beschrieben. mit war nicht bewusst dass der include weder html noch java ist. dankeschön :)
 
Zurück
Oben