Wywołanie serwletu ze strony JSF

Wywołanie serwletu ze strony JSF
ST
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Czy jest jakiś sposób na wywołanie serwletu po wysłaniu formularza ze strony JFS? Zadaniem serwletu jest generowanie dokumentu pdf na podstawie danych przesłanych w formularzu

Koziołek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Stacktrace
  • Postów: 6823
1

Wywołujesz "normalną" akcję JSF (form-action) i w niej delegujesz tworzenie PDFa do osobnej klasy. Chyba prostsze?

ST
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Prostsze, ale muszę to zrobić w serwlecie, który ma dostęp do parametrów przesłanych w formularzu, gdyż wygenerowany pdf ma być od razu przesłany do użytkownika

ST
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Prawie już sobie poradziłem, z tym problemem, ale chciałbym, żeby pdf pojawiał sie w nowej zakładce. Na razie robie w taki sposób:

Na stronie, w atrybucie commandButton przechodze do ziarna, ktorego zadaniem jest wywolanie servletu
<h:commandButton value="PDF" action="#{MojBean.wywolajServlet}"/>

Servlet wywołuje za pomocą metody dispatch(url):

Kopiuj
	public String wywolajServlet() throws IOException{  
		String url = "/pdfServlet";  
		FacesContext context = FacesContext.getCurrentInstance();  
		context.getExternalContext().dispatch(url);  
		return null;  
        }

W servlecie generowany jest pdf i wysyłany do uzytkownika. Z tym, że pojawia sie na tej samej stronie, a ja chciałbym, żeby pojawiał się w nowej zakładce. Ma ktoś jakieś pomysły?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.