jsp:include :: jsp:param :: Umlaute
-
Hallo, ich habe ein etwas seltsames Verhalten hier. Zuerst etwas Code:
header.jsp:
<%@ page contentType="text/html; charset=utf-8" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <link rel="stylesheet" type="text/css" href="style.css" /> <title><%= request.getParameter("title") %></title> </head> <body> <div id="header" style="background-image: url('<%= request.getParameter("image") %>')"> </div>
links.jsp:
<%@ page contentType="text/html; charset=utf-8" %> <jsp:include page="header.jsp"> <jsp:param name="title" value="Weiterführende Links"/> <jsp:param name="image" value="http://www.michael-firbach.de/shared/header.png"/> </jsp:include> <jsp:include page="menu.jsp"></jsp:include>
Und was passiert ist folgendes: Der header.jsp kriegt anscheinend null als Parameter. Wenn ich das ü in "Weiterführende Links" rausnehme, funktioniert es. Ich kann mir das also nur so erklären, dass das Übergeben der Parameter mit dem Umlaut schon fehlschlägt und der header die Parameter dann gar nicht erst kriegt. Woran liegt das? Das sind doch wahrscheinlich nur irgendwelche GET oder POST-Parameter, die URL-kodiert werden. Die Leerzeichen machen jedenfalls keine Probleme, es ist wirklich ganz speziell diese Ü.
Was ich auch noch interessant finde, wenn ich das Ü escape, hört er beim & von ü auf.Amsonsten funktioniert schon alles einwandfrei, ich kriege aber hierfür keine Fehlermeldung, gar nichts, im HTML code steht an den relevanten Stellen dann einfach der String null.
-
Ich mach's jetzt mit Attributen. Seltsame Sache irgendwie, ich werde in Zukunft davon absehen, Parameter per Code zu setzen, wenn ich es nicht unbedingt brauche.