então cara, eu coloquei como request scope…
e adivinha???
A paginação do datatable não funciona.
Então, tem que ser NO MINIMO viewScope
como que faço se eu tenho um MB assim:
@Component
@ViewScope
public class GrupoController extends BaseController<Grupo, Integer> {
tem alguma coisa que eu posso fazer aí pro viewScope funcionar?
as minhas dependencias estão injetadas assim:
@PersistenceContext
private EntityManager entityManager;
@Autowired
private GrupoService grupoService;
@Autowired
private MessageUtil messageUtil;
@Autowired
private GenericFilterService genericFilterService;
Como é esse datatable ?
Qual o erro que ocorre no datatable ?
Poderia colocar somente um managed bean que cuida dele como session e toda a parte de datatable ir para ele.
[quote=lele_vader]Como é esse datatable ?
Qual o erro que ocorre no datatable ?
Poderia colocar somente um managed bean que cuida dele como session e toda a parte de datatable ir para ele.
[/quote]
putz, nao tem como fazer o viewScoped funcionar?? 
Ué, quando clica na proxima pagina nada acontece…
acontece como se estivesse na primeira pagina…
Mesmo se fosse view scope.
Quando trocar de página é outra requisição, mesmo que ambas tenham o mesmo managed bean.
Não sei se vai funcionar para os seus problemas.
Sobre o datatable me mostra como você o fez.
[quote=lele_vader]Mesmo se fosse view scope.
Quando trocar de página é outra requisição, mesmo que ambas tenham o mesmo managed bean.
Não sei se vai funcionar para os seus problemas.
Sobre o datatable me mostra como você o fez.
[/quote]
cara, se eu conseguir colocar o MB como viewScope, então o datatable e o delete vão funcionar…
Aí quando for pra trocar de página, eu penso em outra solução tipo… passar por parametro pra outra view…
e usar só um metodo o MB pra buscar do banco aquela entidade e dps jogar os dados pra view… Ou então eu coloco tudo na mesma view
e faço umas macumba com RENDERED pra sumir com os formularios de tabela/filtro
entende?
E hoje o view scope não funciona ?
É isso ?
Porque o delete também não funciona por sinal ?
Você para resolver o problema do datatable poderia colocar um managedBean para fazer isso e colocá-lo com um escopo maior talvez.
E usar esse como dependência do seu managedBean da entidade.
[quote=lele_vader]E hoje o view scope não funciona ?
É isso ?
Porque o delete também não funciona por sinal ?
Você para resolver o problema do datatable poderia colocar um managedBean para fazer isso e colocá-lo com um escopo maior talvez.
E usar esse como dependência do seu managedBean da entidade.
[/quote]
o ViewScope não funciona!

Se eu resolver isso, 70% dos problemas somem…
Pq aí não terei mtas modificaçoes na estrutura basica
dos cruds
Bom. Tenta aquela parada lá do spring então.
Eu talvez colocaria um bean de sessão para cuidar dos datatables.
Daí não perderia-se o valor.
Mas não sei o impacto disso aí no seu sistema.
Realmente com o spring não sei se por vias normais bean scope funciona.
Talvez em uma versão mais nova.
vlw.
[quote=lele_vader]Bom. Tenta aquela parada lá do spring então.
Eu talvez colocaria um bean de sessão para cuidar dos datatables.
Daí não perderia-se o valor.
Mas não sei o impacto disso aí no seu sistema.
Realmente com o spring não sei se por vias normais bean scope funciona.
Talvez em uma versão mais nova.
vlw.[/quote]
aquela parada do spring esta cheirando mta gambi… to com medo de fazer, depois me perder nela! 
pq é um projeto grande nao posso deixar as coisas fugirem do controle!
Como vc anota os seus managedBean se vc ainda usa o Spring para injeção de dependencia?
Não uso spring.rsrs
Em uma aplicação que desenvolvo em casa eu acabei usando servidor de aplicação.
Vê com alguém mais experiente como resolver o seu problema.
Obrigado pela ajuda!
Abri outro tópico…
vou colocar [sem solucao] neste
kkkkkkkkkkkk
amigo,
o seu problema pode ser resolvido simplesmente usando facelets e criando uma tela de crud genérica. no sistema que trabalho é feito dessa forma e funciona direitinho.
[quote=gambazinho]amigo,
o seu problema pode ser resolvido simplesmente usando facelets e criando uma tela de crud genérica. no sistema que trabalho é feito dessa forma e funciona direitinho.[/quote]
mas é isso que eu tenho…
só que com duas views pra cada entidade
tipo vc tem 20 entidades e apenas 2 views genéricas que atendem a todas elas, é isso?
duas views vc quer dizer xhtml??
Se vc tiver um ssitema todo com 2 xhtml eu piro!
me fala como vc fez isso kkkkk
eu tenho um template…
um MB abstrato… e componentes.
Atualmente minha view está assim
(LIST):
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:po="http://java.sun.com/jsf/composite/componente"
template="/templates/template.xhtml">
<ui:define name="content">
<h:form id="filterForm" style="padding-right: 10px;">
<po:filter id="filter" fileName="#{msg['entity.grupo']}" controller="#{grupoController}" />
</h:form>
<!-- o ID do form eh padrao para todos as views -->
<h:form id="mainForm">
<po:datatable id="datatable" controller="#{grupoController}">
<p:column headerText="#{msg['entity.id']}" style="width:80px">
<h:outputText value="#{entity.id}" />
</p:column>
<p:column headerText="#{msg['entity.descricao']}" sortBy="#{entity.descricao}">
<h:outputText value="#{entity.descricao}" />
</p:column>
<p:column headerText="#{msg['entity.idade']}" sortBy="#{entity.idade}">
<h:outputText value="#{entity.idade}" />
</p:column>
<p:column headerText="#{msg['entity.data']}" sortBy="#{entity.data}">
<h:outputText value="#{entity.data}" />
</p:column>
<p:column headerText="#{msg['entity.grupo.tipo']}" sortBy="#{entity.tipo}">
<h:outputText value="#{entity.tipo}" />
</p:column>
</po:datatable>
</h:form>
<po:confirmDelete deleteAction="#{grupoController.delete}" />
</ui:define>
</ui:composition>
e tenho o form que é o formulario mesmo com os campos…
o componente de filtro conversa com o componente da tabela que conversa com o comopnente de dialogo…
E a tabela, quando editar ou exclui seta a propriedade para o bean e o action manda pra outra view.
então, aqui temos 1 xhtml genérico de CRUD que é utilizado por todas as entidades.
vc não precisa ter dois xhtml, vc pode ter 1 só com LIST e FORM o segredo é vc usar o rendered pra definir quando mostrar qual.
amanhã olho como ta e posto aqui.
Faz tudo em uma única view com AJAX cara, pra que ficar criando 2 views pra um CRUD? Você pode usar um h:panel com todos os campos pra edição/criação de registro, e exibir ou escondê-lo com requisições ajax e alguns flags no seu managed bean para controlar a exibição do painel.
O View Scope é possível com Spring sim, entretanto é necessário implementá-lo. Mas como o lele_vader disse, beans com este escopo “somem” após a mudança da view. Mais um motivo pra você usar AJAX 
[quote=Leonardo Gaona]Faz tudo em uma única view com AJAX cara, pra que ficar criando 2 views pra um CRUD? Você pode usar um h:panel com todos os campos pra edição/criação de registro, e exibir ou escondê-lo com requisições ajax e alguns flags no seu managed bean para controlar a exibição do painel.
O View Scope é possível com Spring sim, entretanto é necessário implementá-lo. Mas como o lele_vader disse, beans com este escopo “somem” após a mudança da view. Mais um motivo pra você usar AJAX
[/quote]
Cara, eu tentei usar os workarounds do ViewScoped para Spring.
Primeiro: todas as minhas dependencias precisaram implementar Serializable
Segundo: nem o ajax da paginação do datatable funcionou
Terceiro: eu tenho um esquema de filtro dinamico, onde o cara adiciona e remove os filtros (campos) que ele quer. Tbem não funcionou
PS: tb com ajax!
A questão de trocar de pagina é mínima para mim… Posso perder a instancia do MB depois nao tem problema…
Então eu to pensando na seguinte solução: por favor veja aqui
abraços!
Cara, nestes links abaixo esta a solução tanto para quem usar SPRING quanto para quem usa CDI.
http://www.guj.com.br/java/257228-resolvido-como-m…n-entre-duas-paginas-com-jsf-2
http://lindbergframework.blogspot.com.br/2012/02/c…-estado-de-um-managedbean.html
Espero que te ajude. Eu mesmo foi quem implementou e a utilizo em varios projetos.