Beh, ho trovato un modo per avanti da un JAX- Metodo RS a una pagina JSF:
@GET
@Path("/test")
@Produces("text/html")
public Response test(@Context ServletContext context,
@Context HttpServletRequest request,
@Context HttpServletResponse response) {
try {
String myJsfPage = "/response.xhtml";
context.getRequestDispatcher(myJsfPage).forward(request, response);
} catch (ServletException | IOException ex) {
return Response.status(NOT_FOUND).build();
}
return null;
}
Come descritto qui: https://www.java.net//forum/topic/glassfish/glassfish/forwarding-jsf-jax-rs
L'iniezione tramite il metodo può essere effettuata anche tramite l'iniezione nei campi, che è una questione di 'preferenza'
Questo sono stati testati in TomEE (Apache CXF). Sono solo un po 'curioso se questo è solo un "trucco" sporco o se c'è un modo migliore per farlo.
UPDATE
Ho trovato un modo migliore per reindirizzare che rende i tag JSF senza problemi (nel mio caso i tag come <p:graphicImage/>
non erano il rendering correttamente)
@GET
@Path("/test")
@Produces("text/html")
public Response test(@Context HttpServletRequest request, @Context HttpServletResponse response)
throws IOException {
String myJsfPage = "/response.xhtml";
String contextPath = request.getContextPath();
response.sendRedirect(contextPath + myJsfPage);
return Response.status(Status.ACCEPTED).build();
}
fare questo per il reindirizzamento: '" pagina1? Faces-redirect = true "' –
passare attraverso questo [collegamento] (http://www.mkyong.com/jsf2/jsf-page-forward-vs-page-redirect /) –
questo è solo un reindirizzamento jsf, all'interno dei metodi jax-rs verrà stampata solo la stringa restituita, grazie per il vostro tempo. – Sergio