Olá pessoal,
Estou construindo uma classe genérica e percebi que preciso de uma propriedade do web.xml
Preciso do valor que está nessa propriedade
<context-param>
<param-name>br.com.caelum.vraptor.packages</param-name>
<param-value>pacotes.do.meu.contexto</param-value>
</context-param>
Existe alguma forma mais direta que o VRaptor 3 faça acesso a essas propriedades?
Ou eu posso resolver isso através disso???
public class Teste extends HttpServlet {
public void init() {
String file = getInitParameter("arquivo-configuracao");
}
}
Se por acaso alguém que tem isso de bate pronto e poça me passar agradeço tbém… 
Obrigado
marcelo,
Não sei como o VRaptor funciona , mas pra acessar o paramentro na sua servlet pelo service seria :
public class Teste extends HttpServlet {
protected void service ( HttpServletRequest req , HttpServletResponse res) throws IOException, ServletException {
PrintWriter out = response.getWriter();
out.println (this.getServletContext().getInitParameter("br.com.caelum.vraptor.packages") );
}
}
No seu caso se o parametro for usado somente pela servlet use <init-param> entre a definição da servlet no web.xml.
Se for pra aplicação inteira seria o caso de usar um ServletContextListener pra ler o parametro e armazenar num atributo.
@marcelomello, tenta isso:
No construtor do seu controller recebe como parametro um HttpServlet;
[code]@Resource
public class MeuController(){
private final HttpServlet servlet;
public MeuController(HttpServlet servlet){
this.servlet = servlet;
}
public void minhaAction(){
//aqui vc faz o que quizer com sua informação
servlet.getServletContext("br.com.caelum.vraptor.packages");
}
}[/code]
na verdade vc pode receber o ServletContext no construtor e chamar context.getInitParameter(“nome”)
ou ainda receber o HttpServletRequest no construtor e fazer request.getServletContext().getInitParameter(“nome”)
Obrigado pessoal,
Consegui aqui seguindo a dica do Lucas.
Obrigado pelas respostas.
Abraço.
Muito bom! Consegui resolver meu problema também.
Obrigado!