Boa noite pessoal!
Tudo bem!
Sou iniciante em programação web, estou seguindo a especificação Java EE e utilizando componentes PrimeFaces.
Minha duvida e a seguinte, quero criar um template de uma barra de ferramentas com os botoes de adicionar, editar, cancelar, excluir, consultar e outras funções como ir para o registro anterior, proximo registro, duplicar, etc.
Quero utilizar essa barra de ferramentas em todas as telas de inputs do sistema e gostaria de controlar os estados dos botoes (habilita, desabilita) e demais ações utilizando um bean que identifique qual tela foi aberta e execute as ações da entidade relacionada e essa tela.
Podem indicar algum material que me ajude a entender como seria essa implementação, estou buscando na internet mas não estou encontrando algo nesse sentido.
Desde ja agradeço pela ajuda.
Tem vários exemplos se pesquisar https://www.google.com/search?q=crud+primefaces
Vai por partes, faz o básico e só depois avance.
Boa noite, @javaflex!
Obrigado pela ajuda, estou pesquisando bastande utilizando esses critérios de busca, mas so encontro exemplos que tem um botão novo, chamando outro pagina de cadastro ou grids com a listagem dos registros com a opção de editar ou excluir, gostaria de fazer as ações de adicionar, editar e excluir todos na tela onde faço o cadastro, e utilizar um botão de consultar para chamar pagina com a lista de cadatros, ao selecionar um registro, retornar para apagina de cadastro.
Segue abaixo a imagem de tela que pretendo implementar:
SAbe de algum material que me ajude?
Desde ja agradeço pela ajuda!
Porque é a forma mais usual. Imagina o usuário ter que ficar infinitamente clicando nesses botoes de navegação até encontrar o registro. Isso é coisa de antigas aplicações desktop. O ideal é ter antes uma tela de consulta, com form pra filtros de pesquisa e o grid de resultado. Com isso pra cada linha coloque os botoes de editar e excluir.
Mas pode fazer da forma que quiser, isso é questao de lógica. Importante é aprender primeiro conforme os tutoriais e depois terá segurança pra fazer de outras formas.
Com certeza a ideia e ter uma tela de consulta com filtros para facilitar a busca, se não voltamos para a era da lista telefônica.
Preciso rever meus conceitos de experiencia de usuário para aplicações web, pois estou acostumado com ERPs de mercado que utilizam esses conceitos de navegação, pode me indicar algum sistema web robusto com alto volume de telas e imputs que utilize esse tipo de estrutura?
Desde ja agradeço pela ajuda!
Na internet nao sei, só trabalho com sistemas internos e toda vida sempre foi assim sem problemas. Outro detalhe importante é colocar paginação no resultado da consulta, assim limita a query em x registros por vez.
Sobre rever confeitos, outro item importante caso nao saiba, muito raro alguém usar JEE/JSF/Primefaces pra novos sistemas. Pra Java o mais usado é o Spring Framework.
Muito obrigado pela dica sobre o Spring @javaflex, agora vou ler bastante a respeito, observei que tem diversas discussões sobre Spring x JSF, eu estava indo no caminho do JSF, até adquiri um tema Primefaces para utilizar em minha aplicação, agora preciso rever isso e entender qual é a melhor alternativa pensando no futuro e em qual tecnologia e mais aceita no mercado.
Porque você prefere Spring em vez do JSF?
Não prefiro ambos, prefiro ASP.NET Core. Eu disse aquilo pelo que acompanho na maioria da comunidade Java e em projetos de colegas.
JSF/Primefaces tem a desvantagem de ser mais engessado e pesado. Os recursos do Spring pra web sao mais leves e flexíveis, tanto pra processamento de HTML server-side com Spring MVC quanto somente pra API REST, onde usam mais Angular ou Reactjs pra processar HTML client-side em um projeto a parte, usando Java só pra api rest com Spring Boot. A desvantagem que é necessário mais codificação. Com projeto Angular ou Reactjs aumenta ainda mais a complexidade, muitas vezes é necessário ter uma equipe só de front-end.
Primefaces ganha quando todos os componentes dele atenderem sua aplicação sem “emendas” e for um sistema interno com poucos acessos.