Estou iniciando meus estudos sobre desenvolvimento Web e vi a ideia de fazer um sistema dividido em:
TOPO
MENUS - CONTEUDO
RODAPÉ
Estou usando o esquema de Template do JSF 2.1, onde minha intenção é carregar na parte do conteúdo as demais páginas do sistema, de acordo com o menu clicado, abrindo os cadastros de clientes, produtos e demais.
Minha pergunta, com JSF usando o Template, estaria correto fazer dessa forma ou os colegas tem alguma sugestão melhor de design para desenvolvimento de um sistema.
Lembrando que a ideia inicial é desenvolver um sistema de gestão de clientes e contas pagar/receber para depois, quando tiver com mais experiência partir para um ERP.
Se tiverem algum link para me passar para referência fico agradecido.
Qual a necessidade do ajax?
Por que não carregar por navegação normal?
Quanto maior a utilização de Ajax em uma página maior a chance do código ficar difícil de manutenção. Você terá que controlar o tempo inteiro quem deve ou não ser exibido… E a medida do tempo que as telas forem crescendo, esses ifs irão aumentar… seria algo
panelCliente rendred="{controleManagedBean.panelClienteExibido}“
panelCarro rendred=”{controleManagedBean.panelCarroExibido}"
…
E assim vai… O código vai aumentar e ficar terrível de se manter.
Ajax com JSF não é para isso.
Aqui fala sobre template e dicas: JSF Mini Livro - Dicas, conceitos e boas práticas.
Aqui tem aplicações completas: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate e Aplicação Web Completa JSF EJB JPA JAAS
A ideia inicial do Ajax seria para não ter o efeito de refresh da tela, para tentar ficar um pouco mais bonito a navegação.
Estive olhando um material do link http://benignosales.wordpress.com/2010/11/27/utilizando-uiinclude-com-ajax/
onde é feito o uso do ui:include para pegar a página de um managedBean, mas não consegui fazer funcionar.
Em PHP eu conseguia esse efeito, carregando as informações de um arquivo html dentro de uma DIV com o JQuery, mas não sei até que ponto isso pode acarretar problemas.
Em todo o caso, até achar uma solução para isso irei fazer as páginas normal para iniciar o estudo do CRUD.