[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 
Mensagens enviadas por: rogel.garcia  XML
Perfil de rogel.garcia -> Mensagens enviadas por rogel.garcia [274] Ir para a página: Anterior  1, 2, 3 ... 10, 11, 12 ... 17, 18, 19 Próximo 
Autor Mensagem
hibernateTemplate vc tem em qualquer DAO..


Se não tiver, o método getHibernateTEmplate() com certeza tem...
Se a linha do erro é exatamente essa, pagamentoMensalService é nulo.
Deve estar faltando um setter para pagamentoMensalService no controller..

Seria isso?
Para mapear manytoone vc precisa disso aqui

Code:
 @JoinColumn(name="idhome")
 @ManyToOne(fetch=FetchType.LAZY)
 public Home getHome() {
     return home;
 }
 


O FetchType.LAZY é opcional, mas é recomendável


O oneTomany vc mapeia assim:

Code:
 @OneToMany(mappedBy="home")
 public List<Chamada> getChamadas() {
     return chamadas;
 }
 


Para salvar A lista de chamadas quando salvar o home...

No seu HomeDAO vc pode sobrescrever o updateSaveOrUpdate ou sobrescrever o saveOrUpdate.

Sobrescrevendo o updateSaveOrUpdate
vc coloca dentro do método apenas o comando para atualizar a lista
Code:
 public void updateSaveOrUpdate(SaveOrUpdateStrategy save) {
     save.saveOrUpdateManaged("chamadas");
 }
 

(A variável save é o parametro do updateSaveOrUpdate)

Atualizando o saveOrUpdate
vc coloca dentro do método:
Code:
 public void saveOrUpdate(Home bean) {
  new SaveOrUpdateStrategy(hibernateTemplate, bean)
          .saveEntity()
          .saveOrUpdateManaged("chamadas")
          .execute();
 }
 

bean no caso seria o home
Code:
  public ModelAndView salvarPagamentoEmMassa(WebRequestContext request, PagamentoMensalLista pagamentoMensalLista) 
  {   
  pagamentoMensalService.saveLista(pagamentoMensalLista);
  return pagamentoMensalLista(request);
  }
 


O parâmetro do metodo chega nulo?

ou os atributos dentro da lista estão nulos?
O JSP estava correto Igor:

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>
 
Você terá que verificar qual template está adicionando os botoes que deseja excluir. Por exemplo, o template que colocar os links editar e excluir é o template tabelaResultadosTag.jsp..

Você edita esses templates e remove os botões, e altera o ListagemTag.jsp que é o mais abrangente e coloca os botões lá....


O nome do template tem um padrão. Ele sempre será o nome da tag mais Tag.jsp

Exemplo:
t:janelaResultados -> JanelaResultadosTag.jsp

Obs: Não esqueça de manter o JSP do template no pacote correto
Eles devem ficar no mesmo pacote da classe, dentro da sua aplicação
O CRUD além de editar e criar tinha a opção consultar. Que envia para uma tela de entrada só que os campos ficam em modo readonly.

O JSP dessa tela será [nome da entidade]Consulta.jsp


E será igual a tela de entrada.


O modo consultar está deprecated, mas se vc desejar usar, vc deve criar um JSP e colocar true no showConsultarLink...
PS.: Qualquer dúvida pode ser colocada aqui. Tentaremos ajudar sempre que possível

Valew
O bean seria mais ou menos assim:

Code:
 class Home {
        Integer numeroChamdas;//campo para setar as chamadas
        List<Chamada> chamadas; // lista de chamadas
 }
 
Coloque um Integer no seu bean para setar o número de chamadas.

Crie um n:submit para enviar os dados para o servidor..

<n:submit action="montarLista"/>

Crie um método montarLista no controller para receber o bean.. Nesse método vc adiciona as Chamadas a lista do bean e redireciona para a página para o usuário escolher as chamadas

Na outra página utilize um c:forEach para criar vários inputs de chamada


dentro do forEach vc coloca
<c:forEach .... varStatus="status">
<t:property name="chamadas[${status.index}]" />
</c:forEach>

O JSP vai ficar mais ou menos assim:

<select name="chamadas[0]">.....</select>
<select name="chamadas[1]">.....</select>
<select name="chamadas[2]">.....</select>
<select name="chamadas[3]">.....</select>
<select name="chamadas[4]">.....</select>
<select name="chamadas[5]">.....</select>

E isso pode ser mapeado para o bean novamente...
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, eu dei uma olhada com o colega meu que tava mechendo com a impressora. Ele disse que entrou no site da impressora no FAQ. E achou lá como configurar a impressora...
new QueryBuilder<Date>(...)
.select("max(bean.data)")
.from(Bean.class)
.setUseTranslator(false)
.unique();



O setUseTranslator indica para o query builder não utilizar o tradutor interno e sim o do hibernate. O querybuilder utiliza o tradutor interno quando algum campo na cláusula select é especificado. Esse tradutor permite que sejam carregados apenas os campos desejados de determinado bean. E não o bean inteiro. Exemplo:


new QueryBuilder<Pessoa>(...)
.select("pessoa.nome, pessoa.telefone, pessoa.id")
.from(Pessoa.class)
.list(); //só serão carregadas os campos do select e nao o bean inteiro


No caso de funções de agregaçao como max sum count.. Sempre deve ser desligado o translator
Isso procede Túlio. O framework tem que instanciar a classe do Model (command), essa classe deve ser uma classe concreta.

É recomendável criar um bean que possua uma lista.
beleza vinicius.. valew pela contribuição...
 
Perfil de rogel.garcia -> Mensagens enviadas por rogel.garcia [274] Ir para a página: Anterior  1, 2, 3 ... 10, 11, 12 ... 17, 18, 19 Próximo 
Ir para:   
Powered by JForum 2.1.7 © JForum Team