1 - De acordo com as boas praticas nomes de metodos tem que ser minusculo.
2- Todo metodo tem que ter retorno, se não tiver nenhum valor de retorno coloque void
este é o caso do metodo:
public Hello(){
this.mensagem="vamos ver ne";
}
3 - teste sua classe assim:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ManagedBean
@ViewScoped
public class ControladorTeste {
private String mensagem="Minha primeira pagina JSF";
public void hello(){
this.mensagem="vamos ver ne";
}
public String getMensagem() {
return mensagem;
}
public void setMensagem(String mensagem) {
this.mensagem = mensagem;
}
}
É o construtor da classe e não um método convencional.
A intenção do meu código era que na hora que fosse instanciado o objeto ele atribuiria este valor à variável mensagem e a imprimiria na tela porém o mesmo não está acontecendo.
pois a sua classe se chama: class ControladorTeste e de acordo com a sintaxe da linguagem o método construtor e:
O construtor da classe é um bloco declarado com o mesmo nome que a classe: 4. Java provê o mecanismo de construtores: Métodos especiais chamados automaticamente pelo Java quando um objeto novo é criado; Construtores são métodos sem valor de retorno e que possuem o mesmo nome da classe.
Logo se sua intensao era colocar o codigo no construtor da classe deveria ter escrevido da seguinte forma:
public controladorTeste(){
this.mensagem="vamos ver ne"
}
De acordo com as boas praticas nome de metodos devem inciar com letras minusculas