5
C'è un modo per accedere ai bean gestiti JSF da un servlet?Fagioli gestiti JSF in un servlet
C'è un modo per accedere ai bean gestiti JSF da un servlet?Fagioli gestiti JSF in un servlet
in un servlet, è possibile ottenere richiesta ambito fagioli da:
Bean bean = (Bean) request.getAttribute("beanName");
e scope di sessione fagioli da:
Bean bean = (Bean) request.getSession().getAttribute("beanName);
e l'applicazione ambito fagioli da:
Bean bean = (Bean) getServletContext().getAttribute("beanName");
Per quanto come so, i fagioli non sono necessariamente istanziati con entusiasmo da JSF. Quindi questo fallirà se prima non avessi accesso ai bean tramite il layer JSF. – lexicore
@lexi: è corretto. Tuttavia, se avete bisogno di istanziare quei fagioli in un servlet da soli invece di afferrare quelli già creati, allora c'è qualcosa di più sbagliato nell'approccio/design. O l'attività deve essere eseguita completamente da un bean JSF oppure non è necessario JSF per l'attività specifica. Difficile da dire perché l'effettivo requisito funzionale dell'OP è vago. Ricorda che un Servlet è fondamentalmente solo un front controller di pagina, il lavoro che FacesServlet ha già completato. Forse il servlet sta facendo troppo o l'OP non riesce a fare lo stesso in un bean JSF. – BalusC
Posso seguire la tua argomentazione ma non sono completamente d'accordo. Si può usare JSF per la gestione dei bean e servlet non di Faces per front-end che non si adatta molto bene a JSF. Ad esempio, qualcosa come DWR. Personalmente, generalmente preferisco Spring per i bean di tipo DI piuttosto che JSF, ma ci sono molti scenari in cui JSF sarebbe più che sufficiente per la gestione dei bean. – lexicore