Comment accéder à applicationContext à partir d'un Contrôleur
Je suis à l'aide d'un Spring MVC Projet de Netbeans et j'ai déplacé le applicationContext.xml fichier /src/conf parce que j'ai lu WEB-INF n'est pas le bon dossier. Je ne peux pas accéder au contexte de l'application à partir d'un contrôleur dans /src/java/web/contrôleur. J'ai essayé de plusieurs façons, et il n'a pas déployer le projet.
Je voudrais un lien pour en apprendre plus sur les chemins d'un projet web, des moyens.
Je pense que cela pourrait nous aider à comprendre:
public class TasksController implements Controller {
private TaskManager taskManager;
protected final Log logger = LogFactory.getLog(getClass());
public TaskController() {
ApplicationContext context = new FileSystemXmlApplicationContext("/WEB-INF/applicationContext.xml");
taskManager = (TaskManager)context.getBean("taskManager");
}
@Override
public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
logger.info("Returning view from TaskController");
Map<String,Object> tasks = new HashMap<String,Object>();
//Get tasks from model
return new ModelAndView("tasks","tasks",tasks);
}
Bye!
- et quel est le chemin? parce que le contrôleur ne trouvez pas l'applicationContext dans /WEB-INF/applicationContext.xml. Merci
- Je suis en train de créer un contrôleur taskscontroller pour afficher les tâches dans une JSP. J'ai un bean défini dans le gestionnaire de tâches applicationContext.xml et je veux que le contrôleur pour obtenir le gestionnaire des tâches et les tâches avec getTasks().
Vous devez vous connecter pour publier un commentaire.
Ouch. OK, vous n'avez pas instancier de nouveaux contextes à partir de votre contrôleur. Le contexte a déjà été configuré par le Printemps, vous avez juste à demander de Printemps pour elle.
Faire de votre contrôleur de mettre en œuvre
BeanFactoryAware
, et au Printemps puis à l'injecter le contexte pour vous automatiquement l'appelantsetBeanFactory
: