Tworze sobie stronke w ten sposób:
klient --(żądanie)--> serwlet --(wynik)--> jsp --(sformatowany wynik)--> klient
Servlet generuje wynik w postaci tablicy obiektow klasy News :
News[] n = new News[3];
wypelnia obiekty tej tablicy odpowiednimi wartosciami ...
i umieszcza tą tablicę w :
getServletContext().setAttribute("NewsTable", n);
forwarduje wynik do jsp :
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/doc/ShowNews.jsp");
dispatcher.forward(request, response);
Teraz w ShowNews.jsp chce użyć Bean'a ktory chce zeby byl tą samą tablicą złożoną z obiektów News, na Tomcacie 3.0 pisałem :
< jsp:useBean id="NewsTable" class="com.mycompany.News[]" scope="application" /
< %
for (int i=0; i < news.length; i++) {
out.println( (news[i]).getTitle() + "
" );
out.println( (news[i]).getContent() + "
" );
}
% >
Ale niestety przy T5.5.9 wywala mi :
org.apache.jasper.JasperException: /doc/ShowNews.jsp(13,0) The value for the useBean class attribute com.mycompany.News[] is invalid.
Dlaczego?
p.s. jesli zamiast bena uzyje :
< %
News[] news = (News[]) getServletContext().getAttribute("NewsTable");
% >
to wszystko dziala.