Mam plik JSP, który zawiera inny plik JSP. Pierwsza strona JSP powinna przekazać wystąpienie klasy Java (widgetu) do drugiego pliku JSP.jsp: param z klasą Java
To jest to, co mam:
Pierwszy JSP:
<jsp:include page="/container/SpecialWidget.jsp">
<jsp:param name="widget" value="${widget}"/> // widget is a .Java POJO
</jsp:include>
Drugi JSP:
${param.widget.id}
Problemem jest to, że kod ten daje błąd (mówi to robi nie wiem ID). Jeśli pominę część ".id", strona wydrukuje kod Java dla klasy Java, co oznacza, że klasa została poprawnie przesłana. Jeśli zmienię regułę $ {widget} na pierwszej stronie, na przykład $ {widget.id} i spróbuję wydrukować plik $ {param.widget}, wszystko działa poprawnie.
Moje pytanie: Dlaczego nie mogę przekazać klasy Java i bezpośrednio wywołać jej atrybuty? Co ja robię źle?
Edit: Komunikat o błędzie: Spowodowany przez: javax.el.PropertyNotFoundException: własność „id” nie znaleziono typu java.lang.String
Wiem, jak ustawić parametr żądania za pomocą serwletu. Nie wiem, jak przekazać ten parametr do dołączonego pliku. Czy możesz wyjaśnić, jak można to osiągnąć? –