Ich habe eine JSP-Datei, die eine andere JSP-Datei enthält. Die erste JSP sollte eine Instanz einer Java-Klasse (Widget) an die zweite JSP-Datei übergeben. DieseJsp: Param mit Java-Klasse
ist, was ich habe:
Die erste JSP:
<jsp:include page="/container/SpecialWidget.jsp">
<jsp:param name="widget" value="${widget}"/> // widget is a .Java POJO
</jsp:include>
Die zweite JSP:
${param.widget.id}
Das Problem ist, dass dieser Code einen Fehler gibt (es sagt, es doesn kenne ID nicht). Wenn ich den ".id" -Teil weglasse, druckt die Seite den Java-Code für die Java-Klasse, was bedeutet, dass die Klasse korrekt übertragen wurde. Wenn ich die Regel $ {widget} der ersten Seite beispielsweise in $ {widget.id} ändere und versuche, $ {param.widget} zu drucken, funktioniert alles einwandfrei.
Meine Frage: Warum kann ich nicht eine Java-Klasse übergeben und direkt auf ihre Attribute zugreifen? Was mache ich falsch?
Edit: Fehlermeldung: Verursacht durch: javax.el.PropertyNotFoundException: Property 'id' nicht auf Typ java.lang.String gefunden
Ich weiß, wie man einen Anfrageparameter mit Hilfe eines Servlets einrichtet. Was ich nicht weiß, ist, wie dieser Parameter an eine enthaltene Datei übergeben wird. Können Sie erklären, wie dies erreicht werden kann? –