Estou começando a trabalhar com primefaces e estou com algumas dúvidas…
Estou usando o componente “http://www.primefaces.org/showcase/ui/schedule.jsf”, porém, tenho dúvidas de como implementa-lo.
No site do Primefaces há código para colocar no arquivo .xhml e um código java.
Minha dúvida é se eu tenho que colocar esse código Java na minha aplicação ou esse código é interno do componente? Se for interno, como integrar o componente com as minhas classes de negócio? Eu criei uma classe Agendamentos com todos os atributos desse calendário e queria que ela recebesse os dados do formulário e gravasse no banco. Esse meu raciocínio está correto?
Vinny, o código java não é interno do componente. Esse código deve ser declarado no managed bean (controller). Os valores preenchidos na tela são automaticamente preenchidos no managed bean, através dos métodos get/set.
Se você criou uma classe com os atributos do calendário, essa classe pode ser seu managed bean.
Exemplo:
No calendário tem um campo dataInicial. No seu managed bean, que receberá as requisições dessa página, você deve ter um campo Date com os métodos get/set.
@EntitypublicclassAgendamento{@Id@GeneratedValueprivateLongid;privateStringdescricao;privateDatedataInicio;privateDatedataFim;privateBooleandiaInteiro;/* * Getters and Setters */publicStringgetDescricao(){returndescricao;}publicvoidsetDescricao(Stringdescricao){this.descricao=descricao;}publicDategetDataInicio(){returndataInicio;}publicvoidsetDataInicio(DatedataInicio){this.dataInicio=dataInicio;}publicDategetDataFim(){returndataFim;}publicvoidsetDataFim(DatedataFim){this.dataFim=dataFim;}publicBooleangetDiaInteiro(){returndiaInteiro;}publicvoidsetDiaInteiro(BooleandiaInteiro){this.diaInteiro=diaInteiro;}publicvoidsetId(Longid){this.id=id;}publicLonggetId(){returnid;}}
O Raciocinio está correto? Na propriedade descricao do componente, eu coloquei #{agendamentoBean.agendamento.descricao}, mas n funcionou! Estou fazendo algo errado?