1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Pegar atributos da sessão java

Olá, pessoal! Estou com um projeto web utilizando JAVA, JSP e HIBERNATE. E preciso pegar os dados de uma sessão, meu problema:

1 - estou fazendo a inscrição de um usuário em um evento. Preciso pegar o ID desse usuário, pegar o ID do evento e o ID do Perfil do Usuário adicionando em uma Tabela InscricaoEvento. Tudo com apenas um clique. Seria um HREF escrito "INSCREVA-SE" e ao clicar pegaria todos os dados mencionados. (similar ao INSCREVA-SE do Youtube quando nos inscrevemos em um canal)

TABELA EVENTO

package br.com.sigec.model;

import java.util.Calendar;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@SequenceGenerator(name = Evento.SEQUENCE_NAME, 
                    sequenceName = Evento.SEQUENCE_NAME, 
                    allocationSize = 1)
@Table(name = "tb_evento")
public class Evento {

    public static final String SEQUENCE_NAME = "tb_evento_id_seq";

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = SEQUENCE_NAME)
    private int id;
    private String descricao;
    private String observacao;
    private String local;
    private String sigla;

    @Temporal(TemporalType.DATE)
    private Calendar data_inicial;

    @Temporal(TemporalType.DATE)
    private Calendar data_final;

    @OneToMany
    @JoinColumn( name="id_evento" )
    private List<InscricaoEvento> inscricaoEvento;

    private boolean registra_frequencia;
    private int permencia_min_frequencia;
    private boolean habilita_certificado;
    private boolean ativo;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getDescricao() {
        return descricao;
    }
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }
    public String getObservacao() {
        return observacao;
    }
    public void setObservacao(String observacao) {
        this.observacao = observacao;
    }
    public String getLocal() {
        return local;
    }
    public void setLocal(String local) {
        this.local = local;
    }
    public String getSigla() {
        return sigla;
    }
    public void setSigla(String sigla) {
        this.sigla = sigla;
    }
    public Calendar getData_inicial() {
        return data_inicial;
    }
    public void setData_inicial(Calendar data_inicial) {
        this.data_inicial = data_inicial;
    }
    public Calendar getData_final() {
        return data_final;
    }
    public void setData_final(Calendar data_final) {
        this.data_final = data_final;
    }
    public boolean isRegistra_frequencia() {
        return registra_frequencia;
    }
    public void setRegistra_frequencia(boolean registra_frequencia) {
        this.registra_frequencia = registra_frequencia;
    }
    public int getPermencia_min_frequencia() {
        return permencia_min_frequencia;
    }
    public void setPermencia_min_frequencia(int permencia_min_frequencia) {
        this.permencia_min_frequencia = permencia_min_frequencia;
    }
    public boolean isHabilita_certificado() {
        return habilita_certificado;
    }
    public void setHabilita_certificado(boolean habilita_certificado) {
        this.habilita_certificado = habilita_certificado;
    }
    public boolean isAtivo() {
        return ativo;
    }
    public void setAtivo(boolean ativo) {
        this.ativo = ativo;
    }

    public List<InscricaoEvento> getInscricaoEvento() {
        return inscricaoEvento;
    }
    public void setInscricaoEvento(List<InscricaoEvento> inscricaoEvento) {
        this.inscricaoEvento = inscricaoEvento;
    }

}

TABELA InscricaoEvento

package br.com.sigec.model;

import java.util.Calendar;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@SequenceGenerator(name = InscricaoEvento.SEQUENCE_NAME, 
                    sequenceName = InscricaoEvento.SEQUENCE_NAME, 
                    allocationSize = 1)
@Table(name = "tb_insc_evento")
public class InscricaoEvento {

public static final String SEQUENCE_NAME = "tb_insc_evento_id_seq";

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = SEQUENCE_NAME)
    private int id;

    @Column(name = "numero_insc")
    private int numeroIncricao;

    @Column(name="data_inscricao", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
    private Calendar dataInscricao;

    @Column(name="valor_pagamento_insc")
    private double valorInscricao;
    private boolean ativo;

    @Column(name="id_evento")
    private int idEvento;    //Acho que não estou usando

    @OneToOne
    @JoinColumn(name = "id_perfil")
    private Perfil perfil;

    @OneToOne
    @JoinColumn(name = "id_usuario")
    private Usuario usuario;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getNumeroIncricao() {
        return numeroIncricao;
    }

    public void setNumeroIncricao(int numeroIncricao) {
        this.numeroIncricao = numeroIncricao;
    }

    public Calendar getDataInscricao() {
        return dataInscricao;
    }

    public void setDataInscricao(Calendar dataInscricao) {
        this.dataInscricao = dataInscricao;
    }

    public double getValorInscricao() {
        return valorInscricao;
    }

    public void setValorInscricao(double valorInscricao) {
        this.valorInscricao = valorInscricao;
    }

    public boolean isAtivo() {
        return ativo;
    }

    public void setAtivo(boolean ativo) {
        this.ativo = ativo;
    }

    public int getIdEvento() {
        return idEvento;
    }

    public void setIdEvento(int idEvento) {
        this.idEvento = idEvento;
    }

    public Perfil getPerfil() {
        return perfil;
    }

    public void setPerfil(Perfil perfil) {
        this.perfil = perfil;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }


}

TABELA Perfil

package br.com.sigec.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@SequenceGenerator(name = Perfil.SEQUENCE_NAME, 
                    sequenceName = Perfil.SEQUENCE_NAME, 
                    allocationSize = 1)
@Table(name = "tb_perfil")
public class Perfil {

public static final String SEQUENCE_NAME = "tb_perfil_id_seq";

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = SEQUENCE_NAME)
    private int id;
    private String descricao;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getDescricao() {
        return descricao;
    }
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }



}

Aqui está meu JSP

<%@ include file="/header.jsp"%>

<c:if test="${usuarioWeb.logado}">

<table class="table table-condensed">

      <thead>
        <a href="#" class="list-group-item list-group-item-danger"><b>Eventos em aberto</b></a>
        <tr class="danger">
          <th>Nº</th>
          <th>Nome</th>
           <th>Curso</th>
          <th>Data do evento</th>
          <th> </th>
        </tr>
      </thead>
      <tbody>
        <c:forEach items="${eventoList }" var="evento">
            <tr class="warning">
              <td>${evento.id}</td>
              <td>${evento.observacao}</td>
              <td>${evento.descricao}</td>
              <td>
                  <fmt:formatDate value="${evento.data_inicial.time}" pattern="dd/MM/yyyy"/>    
                  a  
                  <fmt:formatDate value="${evento.data_final.time}" pattern="dd/MM/yyyy"/>
              </td>

              <td>

                      <!-- Botão que enviará os dados para a tabela InscricaoEventos  -->
                  <a href="<c:url value="/inscricaoEvento/adicionaInscricaoEvento"/>" class="btn btn-default btn-xs" role="button">Inscreva-se
                      <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>
                  </a>
              </td>
        </c:forEach>   
       </tbody>

</table>
</c:if>
<c:if test="${empty usuarioWeb or not usuarioWeb.logado }">
    <c:redirect url="/"/>
</c:if>

<%@ include file="/footer.jsp"%>

Valeu!

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags code-readability ou faça a sua própria pergunta.