Pergunta

Já fiz programação Java e JSP no passado, mas sou novo no Java Server Faces e quero saber se existe um conjunto de práticas recomendadas para desenvolvimento JSF.

Foi útil?

Solução

Algumas dicas:Entenda a solicitação JSF vida útil e onde seus vários pedaços de código se encaixam nele.Descubra especialmente por que os valores do seu modelo não serão atualizados se houver erros de validação.

Escolha uma biblioteca de tags e siga-a.Reserve um tempo para determinar suas necessidades e criar protótipos de diferentes bibliotecas.Misturar diferentes taglibs pode causar graves danos à sua saúde mental.

Outras dicas

Considere usar facetas- simplifica muito as piores partes do desenvolvimento JSF.Estou fazendo um projeto JSF baseado em CMS agora sem facelets (depois de fazer um projeto com ele) e parece que meu braço esquerdo está faltando....

Eu recomendo fortemente que alguém com experiência em JSF lidere seu primeiro projeto em JSF, mesmo que isso signifique pagar um empreiteiro por 3 meses.A abordagem JSF é muito diferente da JSP.A maneira como você aborda e resolve problemas é muito diferente.

Bibliotecas

Considere as seguintes bibliotecas:

Arquitetura

Abraçar MVC você precisa não apenas saber o que isso significa, mas também usá-lo extensivamente.

Existem dois padrões principais para associar controladores às visualizações

Estilo Dot Net, controlador de uma solicitação por visualização

Cada página de nível superior possui um controlador com escopo de solicitação (bean). Todas as validações e ações da página usam esta classe.Também usado para filtrar e ordenar o modelo.O modelo será armazenado em alguns controladores de nível de sessão que lidarão com a comunicação com o back-end (EJBs ou camada de persistência). Esses controladores de sessão devem implementar a lógica de negócios e não ter conhecimento de JSF, HTML ou qualquer tecnologia de apresentação.

Os controladores estão no nível da sessão

Projete controladores com base em seu modelo de dados e aninhe-os uns nos outros.(Este post está ficando muito longo, então não vou entrar em detalhes sobre isso).

Conhecimento necessário

Todos:

Pelo menos uma pessoa:

  • Criando componentes personalizados
  • Limitações para JSF (botão traseiro, navegação aleatória, etc)
  • Debug 3rd Party Libraries (pelo menos uma pessoa precisa se sentir confortável em quebrar o depurador e entrar na implementação do JSF (mais fácil com implementações de código aberto como o MyFaces))
  • Adicione meu voto para facelets.Recentemente, atualizei um projeto para usar facelets e ele resolve alguns grandes problemas com jsf, especialmente fornecendo um sistema de modelo decente pronto para uso e permitindo que você use html padrão quando for apropriado, sem envolvê-lo "literalmente" -Tag.
  • RestFaces é uma solução para o problema de obtenção/postagem do qual muitas pessoas reclamam.Também está bem documentado e fácil de usar.
  • Não use muitos taglibs.Isso torna o trabalho muito mais difícil durante a atualização.
  • SEAM coleta muitas das melhores práticas de JSF, mas ainda não as usei, então não posso recomendá-las, apenas recomendo que você dê uma olhada.

Tenho usado a implementação IBM do JSf e tenho alguns comentários.Não é um mau caminho a seguir, mas você tem que se comprometer com o “modo de vida” da IBM.Eles escreveram sua própria tag lib que estende o padrão JSF.Se você conseguir ficar dentro do Rational Application Developer (RAD) (que não é atualizado com tanta frequência), a integração às vezes apresenta erros, mas no geral é decente.Além disso, a integração com o WebSphere é muito boa.A menos que seu empregador jogue golfe com a IBM, acho melhor permanecer o mais simples possível.

Ainda não tenho conhecimento de uma "Prática recomendada" para validação em nível de campo/formulário cruzado.

Ou seja, a validação JSF está atualmente orientada para validação de campo único.Na IMO, fica feio quando você olha para a validação complexa de campo cruzado/nível de formulário.

Velho, mas ainda parece preciso para mimhttp://weblogs.java.net/blog/johnreynolds/archive/2004/07/improve_jsf_by_1.html

http://www.jroller.com/robwilliams/entry/jsf_multi_field_validation_not

Você pode conferir o seguinte link onde poderá encontrar artigos interessantes

http://www.jsftutorials.net/

Selecione uma boa biblioteca de componentes. Não use richfaces, sugiro que você não use jsf, use spring mvc, jquery para view e json em uma arquitetura rest.mas se for preciso, use o primefaces, é fácil de usar e tem componentes suficientes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top