[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Ajuda para Montar uma tela de Multiplos Cadastros  XML
Índice dos Fóruns -> Dúvidas Ir para a página: 1, 2, 3 Próximo 
Autor Mensagem
Igor.Costa
MultiAction
[Avatar]
Membro desde: 22/06/2007 15:13:22
Mensagens: 79
Localização: Vitória da Conquista - BA
Offline

oi gente,

queria saber como eu faria no Neo para montar uma tela em que eu pudesse Alterar varias linhas de uma tabela de resultados de uma vez só.

É possivel isso?

Igor Costa

MasterSoft Sistemas Ltda.


[Email] [WWW] [Yahoo!] [MSN]
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

É possível mas não tem template pronto para isso.. (a não ser o detalhe, que ainda não tem screen cast mostrando).

Vou dar uma idéia de comoo seria feito sem template.

Você precisaria dos seguintes beans

Code:
 public class Model {
       List<Pessoa> listaPessoa;
       ... getters e setters...
 }
 
 //o bean da tabela que quer editar
 @Entity
 ... etc...
 public class Pessoa {
         .....
         String nome;
 }
 


um controller mais ou menos assim:
Code:
 public class ControllerPessoa extends MultiactionController {
      pulic ModelAndView pagina(WebRequestContext request, Model model)    {
         request.setAttribute("model", model);
         return new ModelAndView("pagina");
     }
 
     public ModelAndView salvarEmMassa(WebRequestContext request, Model model) {
         ... salva aqui os beans da lista (model.listaPessoa)....
         return pagina(request, model);
     }
 }
 


e a pagina.jsp
Code:
 <n:form>
 <n:bean name="model">
     <n:dataGrid property="listaPessoa">
          <t:property name="id" mode="input"/>
          <t:property name="nome" mode="input"/>
           .....
     </n:dataGrid>
     <n:submit action="salvarEmMassa">Enviar</n:submit>
 </n:bean>
 </n:form>
 


vc pode usar o template t:tela para incluir o form e montar o layout da tela (é só englobar todo o código com t:tela e retirar o n:form)
Igor.Costa
MultiAction
[Avatar]
Membro desde: 22/06/2007 15:13:22
Mensagens: 79
Localização: Vitória da Conquista - BA
Offline

obrigado, vou tentar aqui.

vlw

Igor Costa

MasterSoft Sistemas Ltda.


[Email] [WWW] [Yahoo!] [MSN]
Igor.Costa
MultiAction
[Avatar]
Membro desde: 22/06/2007 15:13:22
Mensagens: 79
Localização: Vitória da Conquista - BA
Offline

oi,

não estou conseguindo visualizar a pagina...

Ele exibe a pagina Base.jsp pura, sem nenhuma listagem...

Controller
Code:
 package pfp.controller;
 
 import org.springframework.web.servlet.ModelAndView;
 
 import pfp.bean.transiente.PagamentoMensalLista;
 
 import br.com.linkcom.neo.controller.Controller;
 import br.com.linkcom.neo.controller.DefaultAction;
 import br.com.linkcom.neo.controller.MultiActionController;
 import br.com.linkcom.neo.core.web.WebRequestContext;
 
 @Controller(path="/modulo/operacoes/PagamentoMensalMassa")
 public class ControllerPagamentoMensal extends MultiActionController {
     
 	
 	@DefaultAction
 	public ModelAndView pagamentoMensalLista(WebRequestContext request, PagamentoMensalLista pagamentoMensalLista)    {
        request.setAttribute("pagamentoMensalLista", pagamentoMensalLista);
        return new ModelAndView("pagamentoMensalListaPagina");
    }
 
    public ModelAndView salvarPagamentoEmMassa(WebRequestContext request, PagamentoMensalLista pagamentoMensalLista) {
        //Salvar os bea aqui...
 	   return pagamentoMensalLista(request, pagamentoMensalLista);
    }
 }
 



Pagina
Code:
 <%@ taglib prefix="n" uri="neo"%>
 <%@ taglib prefix="t" uri="template"%>
 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 
 TESTE
 <!-- <n:form>-->
 <t:tela titulo="Pagamento Mensal Em Massa">
  <n:bean name="pagamentoMensalLista">
      <n:dataGrid property="listaPagamento">
           <t:property name="numeroMes" mode="input"/>
 		  <t:property name="numeroAno" mode="input"/>
 		  <t:property name="numeroFaltas" mode="input"/>
 		  <t:property name="ehPago" mode="input"/>
 		  <t:property name="valorHoraAula" mode="input"/>
 		  <t:property name="horasAula" mode="input"/>
 		  <t:property name="disciplinaTurma" mode="input"/>
      </n:dataGrid>
      <n:submit action="salvarEmMassa">Enviar</n:submit>
  </n:bean>
  </n:form>
 </t:tela>
 
 


e o bean
Code:
 package pfp.bean.transiente;
 
 import java.util.List;
 
 import pfp.bean.PagamentoMensal;
 
 public class PagamentoMensalLista {
 	
 	List<PagamentoMensal> listaPagamento;
 
 	public List<PagamentoMensal> getListaPagamento() {
 		return listaPagamento;
 	}
 
 	public void setListaPagamento(List<PagamentoMensal> listaPagamento) {
 		this.listaPagamento = listaPagamento;
 	}
 
 }
 

Igor Costa

MasterSoft Sistemas Ltda.


[Email] [WWW] [Yahoo!] [MSN]
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

onde vc colocou seu arquivo pagamentoMensalListaPagina.jsp?
Igor.Costa
MultiAction
[Avatar]
Membro desde: 22/06/2007 15:13:22
Mensagens: 79
Localização: Vitória da Conquista - BA
Offline

oi,

consegui redirecionar pra pagina, era erro de configuração...

só que quando eu rediciono pra pagian dá o segunte erro:

Code:
 Invalid property 'pagamentoMensal' of bean class [java.util.ArrayList]: Bean property 'pagamentoMensal' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?


A pagina é:

Code:
<t:tela titulo="Pagamento Mensal Em Massa">
  <n:bean name="pagamentoMensalLista">
      <n:dataGrid property="pagamentoMensal">
           <t:property name="numeroMes" mode="input"/>
 		  <t:property name="numeroAno" mode="input"/>
 		  <t:property name="numeroFaltas" mode="input"/>
 		  <t:property name="ehPago" mode="input"/>
 		  <t:property name="valorHoraAula" mode="input"/>
 		  <t:property name="horasAula" mode="input"/>
 		  <t:property name="disciplinaTurma" mode="input"/>
      </n:dataGrid>
      <n:submit action="salvarEmMassa">Enviar</n:submit>
  </n:bean>
 
 </t:tela>


e redireciono ela no Controller assim:

Code:
 	public ModelAndView pagamentoMensalLista(WebRequestContext request)    {   
 		request.setAttribute("pagamentoMensalLista", pagamentoMensalService.findAll()); 
        return new ModelAndView("operacoes/pagamentoMensalListaPagina");
 



Igor Costa

MasterSoft Sistemas Ltda.


[Email] [WWW] [Yahoo!] [MSN]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

Troca por isso aqui:

Code:
 
 <t:tela titulo="Pagamento Mensal Em Massa">
       <n:dataGrid itens="${pagamentoMensalLista}" valueType="<% =Bean.class%>">
            <t:property name="numeroMes" mode="input"/>
  		  <t:property name="numeroAno" mode="input"/>
  		  <t:property name="numeroFaltas" mode="input"/>
  		  <t:property name="ehPago" mode="input"/>
  		  <t:property name="valorHoraAula" mode="input"/>
  		  <t:property name="horasAula" mode="input"/>
  		  <t:property name="disciplinaTurma" mode="input"/>
       </n:dataGrid>
       <n:submit action="salvarEmMassa">Enviar</n:submit> 
  </t:tela>
 
 


Acredito que esteja ok... eu não abri o eclipse para testar =p

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
Igor.Costa
MultiAction
[Avatar]
Membro desde: 22/06/2007 15:13:22
Mensagens: 79
Localização: Vitória da Conquista - BA
Offline

e ae pedro blza?

A <t:property/> não tem que estar dentro de alguma outra coisa???

Pq ele dá o seguinte erro:

Code:
NullPointerException: Tag property (numeroMes) não está aninhada a uma outra tag Property ou Bean



vlw

Igor Costa

MasterSoft Sistemas Ltda.


[Email] [WWW] [Yahoo!] [MSN]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

Poe assim:

Code:
 <n:dataGrid itens="${pagamentoMensalLista}" var="nomedobean" itemType="<% =Bean.class%>">
 
 

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

No controller vc deve enviar para o JSP um bean com a lista. E não a lista diretamente

Code:
 PagamentoMensalLista pagamentoMensalLista = new PagamentoMensalLista();
 pagamentoMensalLista.setListaPagamento(pagamentoMensalService.findAll());
 request.setAttribute("pagamentoMensalLista", pagamentoMensalLista);
 


Dessa forma, o código seguinte funcionará corretamente
Code:
   <n:bean name="pagamentoMensalLista">
       <n:dataGrid property="listaPagamento">
 

A linha 1 do exemplo pegará o atributo do escopo pagamentoMensalLista e colocará no bean. A linha 2 utilizará a propriedade listaPagamento do bean para montar o datagrid.
Igor.Costa
MultiAction
[Avatar]
Membro desde: 22/06/2007 15:13:22
Mensagens: 79
Localização: Vitória da Conquista - BA
Offline

grande Rogel!

Entendi minha mancada! hehe Valew Funcionou blza!!

obrigado.

Igor Costa

MasterSoft Sistemas Ltda.


[Email] [WWW] [Yahoo!] [MSN]
Igor.Costa
MultiAction
[Avatar]
Membro desde: 22/06/2007 15:13:22
Mensagens: 79
Localização: Vitória da Conquista - BA
Offline

Estou tendo só um problema:

Para Salvar a lista, eu chamo a action salvarPagamentoEmMassa

Code:
 public ModelAndView salvarPagamentoEmMassa(WebRequestContext request, PagamentoMensalLista pagamentoMensalLista) 
 	{   
 		pagamentoMensalService.saveLista(pagamentoMensalLista);
 		return pagamentoMensalLista(request);
 	}
 


Só que o Command pagamentoMensalLista tá chegando null.

O que eu devo fazer?

Igor Costa

MasterSoft Sistemas Ltda.


[Email] [WWW] [Yahoo!] [MSN]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

Manda o seu jsp

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
Igor.Costa
MultiAction
[Avatar]
Membro desde: 22/06/2007 15:13:22
Mensagens: 79
Localização: Vitória da Conquista - BA
Offline

JSP da Lista:

Code:
 <%@ taglib prefix="n" uri="neo"%>
 <%@ taglib prefix="t" uri="template"%>
 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
 
 <t:tela titulo="Pagamento Mensal Em Massa">
  <n:bean name="pagamentoMensalLista">
 	<n:dataGrid property="listaPagamento">
   		  <t:property name="disciplinaTurma.professor.nome" mode="output"/>
   		  <t:property name="numeroFaltas" mode="input"/>
   		  <t:property name="ehPago" mode="input"/>
   		  <t:property name="horasAula" mode="input"/>
        </n:dataGrid>
  </n:bean>
  <n:submit action="salvarPagamentoEmMassa">Enviar</n:submit>
 </t:tela>
 
 

Igor Costa

MasterSoft Sistemas Ltda.


[Email] [WWW] [Yahoo!] [MSN]
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

testa assim:

Code:
 <t:tela titulo="Pagamento Mensal Em Massa">
   <n:bean name="pagamentoMensalLista">
  	<n:dataGrid property="listaPagamento">
  		<n:bean name="pagamento" propertyIndex="${index}" propertyPrefix="listaPagamento">
 	   		  <t:property name="disciplinaTurma.professor.nome" mode="output"/>
 	   		  <t:property name="numeroFaltas" mode="input"/>
 	   		  <t:property name="ehPago" mode="input"/>
 	   		  <t:property name="horasAula" mode="input"/>
    		  </n:bean>
         </n:dataGrid>
   </n:bean>
 

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
 
Índice dos Fóruns -> Dúvidas Ir para a página: 1, 2, 3 Próximo 
Ir para:   
Powered by JForum 2.1.7 © JForum Team