Senhores,
Hoje fazendo uns testes no Vraptor com um amigo, vimos um comportamento um tanto estranho e gostaria de uma explicação, se possível.
Usei o projeto vraptor-mydvds para fazer o teste.
Na classe HomeController criei o seguinte método:
@Public
@Get
public void testeInjection(){
}
Criei também uma classe nova num pacote novo
package br.com.caelum.vraptor.mydvds.util;
import javax.servlet.http.HttpServletRequest;
import br.com.caelum.vraptor.ioc.Component;
@Component
public class CommonRequestUtil {
private final HttpServletRequest request;
public CommonRequestUtil(HttpServletRequest _request) {
this.request = _request;
}
public String getServerName(){
return request.getServerName();
}
}
Ainda na classe HomeController adicionei a seguinte propriedade SEM GETTER e SETTER:
@Autowired
private CommonRequestUtil requestUtil;
No meu JSP testeInjection.jsp (dentro de home) apenas isso:
Hello I'm Here!
${commonRequestUtil.serverName}
A pergunta é: Porque é que o jsp tem acesso ao commonRequestUtil se eu não disponibilizei um getter?
EDIT: ele imprime no browser
Hello I’m Here! localhost
