Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Estou com dúvida no curso de JSF 2: simplicidade e produtividade na Web, no exercício do capítulo Configuração do ambiente e os primeiros passos com JSF.

Já fiz o formulário e o bean segue os codigos

import javax.faces.bean.ManagedBean;

@ManagedBean
public class LivroBean {

    private String titulo;
    private String isbn;
    private double preco;
    private String dataLancamento;

    public void gravar() {
        System.out.println("Gravando livro " + this.titulo);
    }
//getters and setters
}

e meu form

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html">

<h:body>
    <h:form >
        <fieldset>
            <legend>Dados do Livro</legend>
            <h:panelGrid columns="2">
                <h:outputLabel value="Titulo:" for="titulo" />
                    <h:inputText id="titulo" value="#{livroBean.titulo}"/>
                    <h:outputLabel value="ISBN:" for="isbn" />
                    <h:inputText id="isbn" value="#{livroBean.isbn}"/>
                    <h:outputLabel value="Preço:" for="preco" />
                    <h:inputText id="preco" value="#{livroBean.preco}"/>
                    <h:outputLabel value="Data de Lançamento:" for="dataLancamento" />
                    <h:inputText id="dataLancamento" value="#{livroBean.dataLancamento}"/>
                    <h:commandButton value="Gravar" action="#{livroBean.gravar}"/>
            </h:panelGrid>
        </fieldset>
    </h:form>
</h:body>

</html>

O problema é o seguinte na chamada do método grava no meu form esta me dando um erro que diz para mudar a assinatura do método pra String. Deixando void esta me dando um erro de compilação!!

Oque pode estar de errado esta igual ao do vídeo ?

5 respostas

Oi Rodrigo,

aquela alerta do eclipse sobre a assinatura do método pode ser ignorada. dependendo da versao do eclipse que vc usa ela até desaparece (vc tbm pode desabilitar isso).

e o codigo que vc postou nao deve dar erro de compilacao:

public void gravar() { System.out.println("Gravando livro " + this.titulo); }

Qual duvida bota aqui.

Abraços

o meu também está com esse erro, mais roda normal a aplicação, pensei até que era um bug do eclipse, kkk.

solução!

oi Flávio, é coisa do Eclipse sim e dá para desabilitar:

Vá para Preferences -> Validation e tire:

1) Facelet HTML Validator 2) JSF View Application Configuration Validator 3) JSF View Validator

Valeu Nico.

Nico, por qual motivo real que o eclipse esta retorna essa mensagem? Por algum motivo de atualização da implementação do JSF devemos receber um "javax.faces.event.ActionEvent" em nosso metodo? Gostaria que foce um pouco mais claro pois isso ficou meio vago para mim. Desde já obrigado pela atenção!