ठीक है, मैं एक तरह से आगे करने के लिए एक JAX- से मिल गया है एक जेएसएफ पृष्ठ के लिए आरएस विधि:
@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;
}
के रूप में यहाँ वर्णित: https://www.java.net//forum/topic/glassfish/glassfish/forwarding-jsf-jax-rs
विधि के माध्यम से इंजेक्शन भी क्षेत्र में इंजेक्शन के जरिए किया जा सकता है, कि 'वरीयता'
की बात यह TomEE (अपाचे CXF) में परीक्षण किया गया है है। मैं थोड़ा उत्सुक हूं अगर यह सिर्फ एक गंदे "हैक" है या यदि ऐसा करने का एक बेहतर तरीका है।
अद्यतन
मैं लिए एक बेहतर तरीका अनुप्रेषित कि बिना किसी समस्या के JSF टैग renders (मेरे मामले टैग में इस तरह के रूप <p:graphicImage/>
सही प्रकार से प्रस्तुत नहीं कर रहे थे)
@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();
}
इसे पुनर्निर्देशन के लिए करें: '" पृष्ठ 1? चेहर-रीडायरेक्ट = सत्य "' –
इस [लिंक] के माध्यम से जाएं (http://www.mkyong.com/jsf2/jsf-page-forward-vs-page-redirect /) –
यह सिर्फ एक जेएसएफ रीडायरेक्ट है, जैक्स-आरएस विधियों के अंदर केवल लौटा हुआ स्ट्रिंग प्रिंट करेगा, आपके समय के लिए धन्यवाद। – Sergio