Saudações, estou com o mesmo problema com minha página jsf.
Estou fazendo uma aplicação com base de estudo na apostila da algaworks: “Desenvolvimento Web com JSF”, uma aplicação chamada Financeiro
quando tento chamar o método da classe com o managed-bean definido no arquivo faces-config aparece a seguinte mensagem:
“/contas/cadastroConta.jsp(22,87) The JSP specification requires that an attribute name is preceded by whitespace”
minha página tem o managed-bean chamado cadastroContaBean, que chama o método inicializar na classe CadastrocontaBean.
página jsp:
<h:form id=“frm”>
<h:commandLink action="#{cadastroContaBean.inicializar}">
<h:outputText value=“Cadastro de contas” />
</h:commandLink>
<h:commandLink action=“consultaConta” actionListener="#{consultaContaBean.consultar}">
<h:outputText value=“Consulta de contas” />
</h:commandLink>
</h:form>
arquivo faces-config.xml:
cadastroContaBean com.algaworks.dwjsf.financeiro.visao.CadastroContaBean session cadastroConta /contas/cadastroConta.jspclasse CadastroContaBean:
public class CadastroContaBean {
private Conta contaEdicao;
private List tiposContas;
private List pessoas;
public String inicializar(){
this.contaEdicao = new Conta();
this.tiposContas = null;
this.pessoas = null;
return “cadastroConta”;
}
public void salvar(ActionEvent event) {
FacesContext context = FacesContext.getCurrentInstance();
try {
new ContaService().salvar(this.contaEdicao);
this.contaEdicao = new Conta();
FacesMessage msg = new FacesMessage(“Conta salva com sucesso!”);
msg.setSeverity(FacesMessage.SEVERITY_INFO);
context.addMessage(null, msg);
} catch (RegraNegocioException e){
context.addMessage(null,,
new FacesMessage(FacesMessage.SEVERITY_ERROR,
e.getMessage()e.getMessage()));
} catch (Exception e) {
e.printStackTrace();
FacesMessage msg = new FacesMessage(“Erro inesperado ao salvar conta!”);
msg.setSeverity(FacesMessage.SEVERITY_ERROR);
context.addMessage(null, msg);
}
}
public List getPessoas() {
if (this.pessoas == null) {
this.pessoas = new ArrayList();
List pessoas = new PessoaService().listarTodas();
this.pessoas.add(new SelectItem(null, “Selecione”));
for (Pessoa pessoa : pessoas) {
this.pessoas.add(new SelectItem(pessoa,pessoa.getNome()));
}
}
return this.pessoas;
}
public List getTiposLancamentos() {
if (this.tiposContas == null) {
this.tiposContas = new ArrayList();
for (TipoConta tipo : TipoConta.values()) {
this.tiposContas.add(new SelectItem(tipo, tipo.toString()));
}
}
return tiposContas;
}
public Conta getContaEdicao() {
return contaEdicao;
}
public void setContaEdicao(Conta contaEdicao) {
this.contaEdicao = contaEdicao;
}
}