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
Wywołujesz "normalną" akcję JSF (form-action) i w niej delegujesz tworzenie PDFa do osobnej klasy. Chyba prostsze?
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
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):
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?