Gostaria de saber como faço para pegar o ServletContext em minha Action com Mentawai. Vi que é possível pegar no ApplicationManager, mas preciso utilizá-lo em minha action. Alguém pode me ajudar?
Teoricamente vc não precisa do ServletContext para nada, pois o ApplicationContext que é um org.mentawai.core.Context vai te dar acesso a esse cara sem te acoplar a API de serlvets.
Dentro da sua action vc pode fazer diretamente:
Object myObject = application.getAttribute("myObject"); // coming from SerlvetContext
// ou para os mais puritanos que não gostam de variáveis protected:
Object myObject = getApplication().getAttribute("myObject");
Mas como vc é livre para fazer o que quiser, vc pode pegar o ServletContext dentro de uma action fazendo:
ServletContext sc = ( (ApplicationContext) application).getServletContext();
Tenho 99% de certeza que vc não precisa do ServletContext, podendo usar o application.
Obrigado pela resposta. Porém, agora estou com outro problema. Gostaria de pegar o path de minha aplicação no servidor, mas em termos de “http://host:8080/minhaAplicacao”. Porém, quando uso o ApplicationManager.getRealPath() ele pega o caminho local da aplicação no servidor, como “C:\jboss-4.0.2\server\default\deploy\minhaAplicao”. Haveria uma forma de eu pegar o path da minha aplicação, mas da forma como alguém deveria acessar a aplicação pelo browser? Valeu!