2010-04-19 11 views

risposta

9

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"); 
+0

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

+1

@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

+0

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

Problemi correlati