Seam+Jsf @DataModelSelection

3 respostas
javax.skol

Galera estou tentando pegar uma noticiaSelecionada de um datatable
e envia-lo para a pagina de edição chamada alterar.xhtml. Essa é a
maneira que estou tentando, após clicar em uma noticia no dataTable
ele redireciona para a página alterar.xhtml, mas algo esta errado,
pois ele não imprime o valor da noticiaSelecionada na página.

***** Classe ConsultaNoticiasAction *****
@Name("consultaNoticiaAction")
@Scope(ScopeType.PAGE)
class ConsultaNoticiasAction
  
  @DataModel
  private List<Noticia> noticias;
    
  @DataModelSelection
  private Noticia noticiaSelecionada;

  @In
  private NoticiaServico noticiaServico;

  public String alterar(Noticia not){
     noticiaSelecionada = not;
     return "alterarNot";
  }

// getters & setters
***** consulta.page.xml *****
<!DOCTYPE page PUBLIC
          "-//JBoss/Seam Pages Configuration DTD 2.0//EN"
          "http://jboss.com/products/seam/pages-2.0.dtd">

<page>
  <navigation>
  <rule if-outcome="alterarNot">
   <redirect view-id="/admin/noticia/alterar.xhtml">     
  </rule>
 </navigation>
</page>

**** consultar.xhtml *****

Editar

**** alterar.xhtml *****
Usuário:

Alguma ideia do que pode esta acontecendo? :?
Grato

3 Respostas

J

psyltrance,

Aparentemente o problema é com o escopo do seu managed bean, que está como ScopeType.PAGE.
Qnd vc vai para a página alterar.xhtml, ele deixa de existir. Troque o escopo para CONVERSATION que deve funcionar.

javax.skol

Não adiantou trocar por PAGE
Fiz o teste criando um popup com richfaces, preenchendo-o com os dados do @DataModelSelection para testar, mas tb não adiantou.
outra ideia ?

javax.skol

[PROBLEMA RESOLVIDO]
Olá jsp_dev, o problema estava em outro método não comentado aqui. Obrigado pelo reply.
Mas com isso me gerol uma outra duvida. Resolvi então passar esse objeto selecionado do dataTable, para um modalPanel, a estrutura continuou a mesma, apenas criei o modalPanel com os campos de acordo com o dataTable e coloquei as EL chamando os atributos, mas independente da linha que eu clico, ele manda sempre o ultimo objeto da listagem para o modalPanel. ALguma ideia do que pode ser ?
Grato

Criado 8 de abril de 2008
Ultima resposta 11 de abr. de 2008
Respostas 3
Participantes 2