Galera… como seria possível eu recriar minha Table do html após inserir um bean no banco via hibernate sem recarregar a página??? Hj eu abro um thickbox com um form e posto ele via Ajax pra um servlet… soh q na página pai eu queria mandar esses dados… Eu pensei em mandar com um window.top.inserlinha(…)… soh q dai eu queria passar o ID desse bean tbm e assim não ia funcionar… alguma idéia?? Seria possivel remontar dinamicamente essa table sem recarregar a página?
meu servlet
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import Entities.Beneficiado;
import Entities.Document;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author Vinicius
*/
public class Benef_Treatment extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=latin1");
PrintWriter out = response.getWriter();
try {
Beneficiado b = new Beneficiado();
b.setNome(request.getParameter("name"));
if (b.getNome().isEmpty()) {
new NullPointerException("Nome não pode ser vazio");
}
b.setRg(request.getParameter("reg"));
if (b.getRg().isEmpty()) {
new NullPointerException("RG não pode ser vazio");
}
b.setCargo(request.getParameter("cargo"));
b.setDepartamento(request.getParameter("dpto"));
b.setRamal(request.getParameter("ramal"));
b.setCc(request.getParameter("cc"));
if (b.getCc().isEmpty()) {
new NullPointerException("Centro de custo não pode ser vazio");
}
String group = request.getParameter("group");
if(group != null){
b.setPlanta(group);
} else {
new NullPointerException("É necessário escolher uma planta");
}
Document main = (Document)request.getSession().getAttribute("doc");
if(main == null){
throw new NullPointerException("Não foi possível retornar Document!");
}
b.setIdDoc(main);
request.getSession().setAttribute("last_benef", b);
new BenefDAO().insert(b);
} catch (Exception ex) {
response.sendRedirect("Err?err=" + ex.getMessage());
ex.printStackTrace();
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="Métodos HttpServlet. Clique no sinal de + à esquerda para editar o código.">
/**
* Handles the HTTP <code>GET</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
Meu Bean
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Entities;
import java.io.Serializable;
import javax.persistence.Basic;
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.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
*
* @author Vinicius
*/
@Entity
@Table(name = "beneficiado")
@NamedQueries({@NamedQuery(name = "Beneficiado.findAll", query = "SELECT b FROM Beneficiado b"), @NamedQuery(name = "Beneficiado.findById", query = "SELECT b FROM Beneficiado b WHERE b.id = :id")})
public class Beneficiado implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@Basic(optional = false)
@Lob
@Column(name = "nome")
private String nome;
@Basic(optional = false)
@Lob
@Column(name = "rg")
private String rg;
@Basic(optional = false)
@Lob
@Column(name = "cargo")
private String cargo;
@Basic(optional = false)
@Lob
@Column(name = "departamento")
private String departamento;
@Basic(optional = false)
@Lob
@Column(name = "ramal")
private String ramal;
@Basic(optional = false)
@Lob
@Column(name = "cc")
private String cc;
@Basic(optional = false)
@Lob
@Column(name = "planta")
private String planta;
@JoinColumn(name = "id_doc", referencedColumnName = "id")
@ManyToOne(optional = false)
private Document idDoc;
public Beneficiado() {
}
public Beneficiado(Integer id) {
this.id = id;
}
public Beneficiado(Integer id, String nome, String rg, String cargo, String departamento, String ramal, String cc, String planta) {
this.id = id;
this.nome = nome;
this.rg = rg;
this.cargo = cargo;
this.departamento = departamento;
this.ramal = ramal;
this.cc = cc;
this.planta = planta;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getCargo() {
return cargo;
}
public void setCargo(String cargo) {
this.cargo = cargo;
}
public String getDepartamento() {
return departamento;
}
public void setDepartamento(String departamento) {
this.departamento = departamento;
}
public String getRamal() {
return ramal;
}
public void setRamal(String ramal) {
this.ramal = ramal;
}
public String getCc() {
return cc;
}
public void setCc(String cc) {
this.cc = cc;
}
public String getPlanta() {
return planta;
}
public void setPlanta(String planta) {
this.planta = planta;
}
public Document getIdDoc() {
return idDoc;
}
public void setIdDoc(Document idDoc) {
this.idDoc = idDoc;
}
@Override
public int hashCode() {
int hash = 0;
hash += (id != null ? id.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Beneficiado)) {
return false;
}
Beneficiado other = (Beneficiado) object;
if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
return false;
}
return true;
}
@Override
public String toString() {
return "Entities.Beneficiado[id=" + id + "]";
}
}
Minha JSP
<%@ page contentType="text/html; latin1" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="doc" scope="session" class="Entities.Document"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
<meta http-equiv="Content-Type" content="text/html; charset=latin1" />
<title>Informat</title>
<link rel="stylesheet" href="thickbox.css" type="text/css" media="screen" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="thickbox.js"></script>
<style type="text/css">
<!--
.divrule {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
font-style: normal;
width: 600px;
}
.input{
font-family:Arial, Helvetica, sans-serif;
font-size:10px;
}
#legend_text {
text-align: left;
}
#pop {
text-align: right;
}
.fields{
font-size:10px;
font-family:Arial;
}
.fields_blue{
font-size:10px;
font-family:Arial;
color:navy;
}
.frm { background-color: #f0f0f0;
border: 1px solid #aaaaaa;
font-family: Verdana;
font-size: 8pt; }
.frm-on { background-color: white;
border: 1px solid rgb(0,66,174);
font-family: Verdana; font-size: 8pt;
color: rgb(0,66,174);}
.title{
font-size:32pt;
font-family:arial;
text-align:left;
color:navy;
}
.subtitle{
font-size:14pt;
font-family:arial;
text-align:left;
color:black;
}
td{
font-size:10px;
font-family:arial;
}
label{
font-size:10px;
font-family:arial;
}
.margem{
padding-left:10px;
text-align: left;
}
#unique{
width:200px;
}
popup{
text-align:center;
}
#tb_benefic {
text-align: center;
}
-->
</style>
</head>
<body>
<table width="783" border="0" cellspacing="2" align="center" >
<tr>
<td width="344"><input type="image" name="logo" id="logo" src="Logo Set..jpg" /></td>
<td width="429" class = "title"> <p>Informat <br>
<span class = "subtitle">Solicitação de Acesso - Colaboradores ZFSD</span></p>
<p><br /><span class = "subtitle"> Documento número:<jsp:getProperty name="doc" property="id" /> </span></p></td>
</tr>
</table>
<form action ="java.jav" method="post" enctype="application/x-www-form-urlencoded" name="main">
<center>
<fieldset style="width:600px">
<legend>
<span id="legend_text" style="text-align:center; font-family:Arial, Helvetica, sans-serif;font-weight:bold;color:navy; font-size:14px">
Solicitante
</span>
</legend>
<table width="600" border="0" cellspacing="2" align="center">
<tr>
<td colspan="2">Nome :
<label>
<input type="text" name="nome_s" id="nome_s" size="71" />
</label></td>
</tr>
<tr>
<td width="165">Ramal:
<label>
<input type="text" name="ramal_s" id="ramal_s" size="12" />
</label></td>
<td width="425">Departamento
<label><input type="text" name="dpt_s" id="dpt_s" size="37" />
</label></td>
</tr>
<tr>
<td colspan="2">E-mail:
<label>
<input type="text" name="mail_s" id="mail_s" size="71" />
</label></td>
</tr>
</table>
</fieldset>
</center>
<table align="center">
<tr>
<td align="center">
<br />
<center>
<fieldset style="width:600px;">
<legend>
<span id="legend_text" style="text-align:center; font-family:Arial, Helvetica, sans-serif;font-weight:bold;color:navy; font-size:14px">
Gerente
</span>
</legend>
<table width="600" border="0" cellspacing="2">
<tr>
<td colspan="2">Nome :
<label>
<input type="text" name="nome_g" id="nome_g" size="71" />
</label></td>
</tr>
<tr>
<td width="165">Ramal:
<label>
<input type="text" name="ramal_g" id="ramal_g" size="12" />
</label></td>
<td width="425">Departamento
<label><input type="text" name="dpto_g" id="dpto_g" size="37" />
</label></td>
</tr>
<tr>
<td colspan="2">E-mai :
<label>
<input type="text" name="mail_g" id="mail_g" size="71" />
</label></td>
</tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td>
<fieldset style="width:1000" >
<legend>
<span id="legend_text" style="text-align:center; font-family:Arial, Helvetica, sans-serif;font-weight:bold;color:navy; font-size:14px">
Beneficiado(s)
</span>
</legend>
<table width="900" border="0" cellspacing="2" id="tb_benefic">
<tr style="font-weight:bold">
<td width="40">ID</td>
<td width="200">Nome</td>
<td width="98">Registro</td>
<td width="235">Cargo</td>
<td width="196">Departamento</td>
<td width="176">Centro de Custo</td>
</tr>
<tr style="font-weight:bold">
<td width="305"></td>
<td width="98"></td>
<td width="235"></td>
<td width="196"></td>
<td width="176"></td>
</tr>
<tr align="left" class="margem" style="font-weight:bold">
<td colspan="5"><a href="beneficiado.html?KeepThis=true&TB_iframe=true&height=220&width=600" title="Novo Beneficiado" class="thickbox">+Novo Beneficiado</a></td>
</tr>
</table>
<br />
</fieldset>
</td>
</tr>
</table>
<table align="center">
<tr>
<td>
<br />
<fieldset style="width:650" >
<legend>
<span id="legend_text" style="text-align:center; font-family:Arial, Helvetica, sans-serif;font-weight:bold;color:navy; font-size:14px">
Solicitação de Sistemas ou Aplicativos</span> </legend>
<table width="622" border="0" cellspacing="2" id="tb_benefic" align="center">
<tr style="font-weight:bold">
<td width="472">Sistema ou Aplicativo</td>
<td width="65">Liberação</td>
<td width="71">Exclusão</td>
</tr>
<tr>
<td width="472" align="left" bgcolor="#CCCCCC" class="margem">Rede Interna (Usuário de Acesso à Rede)</td>
<td width="65" align="center" bgcolor="#CCCCCC"><input type="radio" name="radio" id="l_rede" value="l_rede" /></td>
<td width="71" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio" id="e_rede" value="e_rede" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" class="margem">Outlook Interno</td>
<td width="65" align="center">
<label>
<input type="radio" name="radio2" id="l_outlook_interno" value="l_outin" />
</label>
</td>
<td width="71" align="center">
<label>
<input type="radio" name="radio2" id="e_outlook_interno" value="e_outin" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" bgcolor="#CCCCCC" class="margem">Outlook Externo</td>
<td width="65" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio3" id="l_outlook_externo" value="l_outex" />
</label>
</td>
<td width="71" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio3" id="e_outlook_externo" value="e_outex" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" class="margem">Internet</td>
<td width="65" align="center">
<label>
<input type="radio" name="radio4" id="l_internet" value="l_net" />
</label>
</td>
<td width="71" align="center">
<label>
<input type="radio" name="radio4" id="e_internet" value="e_net" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" bgcolor="#CCCCCC" class="margem">Orial</td>
<td width="65" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio5" id="l_orial" value="l_orial" />
</label>
</td>
<td width="71" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio5" id="e_orial" value="e_orial" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" class="margem">Orial Premium</td>
<td width="65" align="center">
<label>
<input type="radio" name="radio6" id="l_orialp" value="l_orialp" />
</label>
</td>
<td width="71" align="center">
<label>
<input type="radio" name="radio6" id="e_orialp" value="e_orialp" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" bgcolor="#CCCCCC" class="margem">GF Alliance</td>
<td width="65" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio8" id="l_gf" value="l_gf" />
</label>
</td>
<td width="71" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio8" id="e_gf" value="e_gf" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" class="margem">SawLuz</td>
<td width="65" align="center">
<label>
<input type="radio" name="radio9" id="l_sawluz" value="l_sawluz" />
</label>
</td>
<td width="71" align="center">
<label>
<input type="radio" name="radio9" id="e_sawluz" value="e_sawluz" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" bgcolor="#CCCCCC" class="margem">Sintel (Clientes)</td>
<td width="65" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio10" id="l_sintelcli" value="l_sintelcli" />
</label>
</td>
<td width="71" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio10" id="e_sintelcli" value="e_sintelcli" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" class="margem">Sintel (Fornecedor)</td>
<td width="65" align="center">
<label>
<input type="radio" name="radio11" id="l_sintelforn" value="l_sintelforn" />
</label>
</td>
<td width="71" align="center">
<label>
<input type="radio" name="radio11" id="e_sintelforn" value="e_sintelforn" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" bgcolor="#CCCCCC" class="margem">Cadim</td>
<td width="65" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio12" id="l_cadim" value="l_cadim" />
</label>
</td>
<td width="71" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio12" id="e_cadim" value="e_cadim" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" class="margem">Axalant</td>
<td width="65" align="center">
<label>
<input type="radio" name="radio13" id="l_axalant" value="l_axalant" />
</label>
</td>
<td width="71" align="center">
<label>
<input type="radio" name="radio13" id="e_axalant" value="e_axalant" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" bgcolor="#CCCCCC" class="margem">Ronda Ponto</td>
<td width="65" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio14" id="l_rondaponto" value="l_rondaponto" />
</label>
</td>
<td width="71" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio14" id="e_rondaponto" value="e_rondaponto" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" class="margem">Ronda Acesso</td>
<td width="65" align="center">
<label>
<input type="radio" name="radio15" id="l_rondaacesso" value="l_rondaacesso" />
</label>
</td>
<td width="71" align="center">
<label>
<input type="radio" name="radio15" id="e_rondaacesso" value="e_rondaacesso" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" bgcolor="#CCCCCC" class="margem">Datamace</td>
<td width="65" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio16" id="l_datamace" value="l_datamace" />
</label>
</td>
<td width="71" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio16" id="e_datamace" value="e_datamace" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" class="margem">CCDrafting</td>
<td width="65" align="center">
<label>
<input type="radio" name="radio17" id="l_CCD" value="l_CCD" />
</label>
</td>
<td width="71" align="center">
<label>
<input type="radio" name="radio17" id="e_CCD" value="e_CCD" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" bgcolor="#CCCCCC" class="margem">Minitab</td>
<td width="65" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio18" id="l_minitab" value="l_minitab" />
</label>
</td>
<td width="71" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio18" id="e_minitab" value="e_minitab" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" class="margem">Acesso Remoto Citrix</td>
<td width="65" align="center">
<label>
<input type="radio" name="radio19" id="l_citrix" value="l_citrix" />
</label>
</td>
<td width="71" align="center">
<label>
<input type="radio" name="radio19" id="e_citrix" value="e_citrix" />
</label>
</td>
</tr>
<tr>
<td width="472" align="left" bgcolor="#CCCCCC" class="margem">Outros:<input name="outros" type="text" size="70" /> </td>
<td width="65" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio20" id="l_outros1" value="l_outros1" />
</label>
</td>
<td width="71" align="center" bgcolor="#CCCCCC">
<label>
<input type="radio" name="radio20" id="e_outros1" value="e_outros1" />
</label>
</td>
</tr>
<tr>
<td width="472">Revogação Total de Acessos (Pessoas Delisgadas da Empresa)</td>
<td width="65">
</td>
<td width="71" align="center">
<label>
<input type="radio" name="radio21" id="deslig" value="deslig" />
</label>
</td>
</tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td align="center">
<fieldset style="width:623px">
<legend>
<span id="legend_text" style="text-align:center; font-family:Arial, Helvetica, sans-serif;font-weight:bold;color:navy; font-size:14px">
Acesso à diretórios da rede</span>
</legend>
<table width="623" height="156" border="0" cellspacing="2">
<tr>
<td width="251" ><p>Diretório<br />
<textarea name="dir1" cols="35" rows="2"></textarea>
</p></td>
<td width="339" colspan="2"><label>
<input type="radio" name="rdir1" id="leitura1" value="leitura1" />
</label>
Leitura
<label>
<input type="radio" name="rdir1" id="leituraeg1" value="leituraeg1" />
</label>
Leitura e gravação
<label>
<input type="radio" name="rdir1" id="exc1" value="exc1" />
Exclusão</label>
<label></label>
<br /> </td>
</tr>
<tr>
<td>Diretório<br />
<textarea name="dir2" cols="35" rows="2"></textarea>
</td>
<td><label>
<input type="radio" name="rdir2" id="leitura2" value="leitura2" />
</label>
Leitura
<label>
<input type="radio" name="rdir2" id="leituraeg2" value="leituraeg2" />
</label>
Leitura e gravação <label>
<input type="radio" name="rdir2" id="exc2" value="exc2" />
Exclus</label>ão
<label></label><br /></td>
<tr>
<tr>
<td>Diretório<br />
<textarea name="dir3" cols="35" rows="2"></textarea>
</td>
<td><label>
<input type="radio" name="rdir3" id="leitura3" value="leitura3" />
</label>
Leitura
<label>
<input type="radio" name="rdir3" id="leituraeg3" value="leituraeg3" />
</label>
Leitura e gravação <label>
<input type="radio" name="rdir3" id="exc4" value="exc4" />
Exclus</label>ão
<label></label><br /></td>
<tr>
</table>
</fieldset>
</td>
</tr>
</table>
<center>
<fieldset style="width:800px">
<legend>
<span id="legend_text" style="text-align:center; font-family:Arial, Helvetica, sans-serif;font-weight:bold;color:navy; font-size:14px">
Solicitações SAP
</span>
</legend>
<table width="600" border="0" cellspacing="2">
<tr>
<td width="251" ><p>Tipo de Solicitação
<input type="radio" name="radioa" id="liberar_sap" value="liberar_sap" />
Liberação
<input type="radio" name="radioa" id="excluir_sap" value="excluir_sap" />
Excluir</p></td>
<td width="339" colspan="2"><br /> </td>
</tr>
<tr>
<td>Transações<br />
<textarea name="transacoes" cols="35" rows="5"></textarea>
</td>
<td>Perfil<br />
<textarea name="perfil" cols="35" rows="5"></textarea>
</td>
<td>
Justificativa <br />
<textarea name="justificativa" cols="35" rows="5"></textarea>
</td>
<tr>
</table>
</fieldset>
</center>
<br />
</form>
</body>
</html>