Temat: Serwlet+wywołanie JSP
Adam Tychoniewicz:
Witam.
Mam taką zagadkę: mam serwlet i z pomocą RequestDispatchera includuję jakiś plik JSP, w którym przetwarzam widok. No i teraz jest zagadka. Jak mam przechwycić do zmiennej wynik przetworzenia strony jsp??
Nie kojarzę, żeby na to, co chcesz zrobić, był jakiś prosty sposób przewidziany jawnie w API serwletów / JSP. Metoda include() wykona przetwarzanie danego zasobu (w szczególności pliku JSP) wsadzając wygenerowaną treść do przekazanego jej obiektu ServletResponse.
Ale... myślę, że można by to zrobić "nie wprost", podstawiając jej swój obiekt ServletResponse :-)
Widziałem gdzieś coś w tym stylu, chyba w jakimś przykładzie demonstrującym działanie filtrów. Filtr tworzył swój "sztuczny" Response i przekazywał go dalej, po czym wyciągał sobie z niego elegancko całą odpowiedź, przetwarzał w jakiś sposób i wypluwał do tego prawdziwego Reponse. U Ciebie byłoby podobnie, tylko robiłby to serwlet, a nie filtr.
Jako ułatwienie implementacji ServletResponse można np. wykorzystać klasę HttpServletResponseWrapper.