Como pegar ServletContext na Action com Mentawai?

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. :slight_smile:

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!