Criar tabela dinâmicamente e pegar valor em servlet
6 respostas
V
Valter_Henrique
Pessoal estou com o seguinte problema.
Eu pego um vector de usuário e dependendo do tamanho deste vector eu mostro os dados do usuário e um botão para o administrador do sistema aprovar o usuário ou não.
Só que não estou conseguindo pensar na lógica de pegar o dado do usuário e enviar isso para a servelt, entenderam?
existem varias formas de resolver isso… uma delas é bem porca mas vai te dar ideias.
crie links no lugar de botoes para a servlet e adicione o parametro que vc quer. trate o get dessa requisição. Isso vai servir para vc validar toda a logica
Substitua agora os links pelos botoes, como vc quer e crie um form apenas. on botao coloque uma função que receba como parametro o id que vc quer autorizar. Dentro do javascript adicione esse parametro em um hidden e, então, faça o submit. Vc tem que receber este parametro. É uma forma.
Agora, sugiro vc usar jstl ao inves de scriptlets … deixaria o codigo mais fofo
Uma terceira parte seria vc fazer isso via ajax, que é bem tranquila com JQuery ou mesmo outros frameworks j2ee…
V
Valter_Henrique
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><%@pageimport="java.util.*"%><htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Autorizar Uauários</title><linkrel="stylesheet"href="style.css"type="text/css"charset="utf-8"/><scripttype="text/javascript">functionautorizar(){document.getElementById("formAutorizar").submit();}</script></head><%Vector<User>vUser=(Vector)request.getSession().getAttribute("vUser");%><body><%@includefile="superior.jsp"%><%if(vUser.isEmpty()){%><divstyle="margin-top: 5%; text-align: center; font-family:serif"><imgsrc="Images/logo_2.png"width="400"height="267"alt="logo_2.png"/><h1> Não há usuário para autorizar!!!</h1></div><%}else{%><formid ="formAutorizar"method="post"action="RecebeDados"><p> Nome : <inputid="1"name="nome"type="hidden"value=<%out.println(vUser.get(0).getsLogin());%>/><%out.println(vUser.get(0).getsName());%></p><p> Email : <%out.println(vUser.get(0).getsEmail());%></p><inputtype="button"value="Autorizar"id="autUsuario"onclick="autorizar();"/><inputtype="hidden"value="Autorizar"name="acao"/><p> Nome : <inputid="1"name="nome"type="hidden"value=<%out.println(vUser.get(1).getsLogin());%>/><%out.println(vUser.get(1).getsName());%></p><p> Email : <%out.println(vUser.get(1).getsEmail());%></p><inputtype="button"value="Autorizar"id="autUsuario"onclick="autorizar();"/><inputtype="hidden"value="Autorizar"name="acao"/></form><%}%></body></html>
Servlet:
publicvoidauthorize(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{// aqui estou pegando o login do usuário, não o nome deleStringsLoginUser=request.getParameter("nome");System.out.println(sLoginUser);Vector<User>vUser=newVector();try{DAOobjDao=newDAO();if(objDao.authorizeUser(sLoginUser)){autorizarNovosCadastros(request,response);}}catch(ExceptionTreate){System.out.println(e.getMessage());}// caso o cadastro deu certo, o usuário será redirecionado para a// index.jsp/* RequestDispatcher rd = null; rd = request.getRequestDispatcher("/autorizaUser.jsp"); rd.forward(request, response); */}
P
peczenyj
e? isso resolveu?
V
Valter_Henrique
peczenyj:
e? isso resolveu?
Então meu velho, esse código acima eh um exemplo que eu fiz para um amigo meu entender o meu problema, sobre a sua sugestão eu entendi como fazer, soh que como vou colocar como parâmetro no javascript?
O meu esta assim :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><%@pageimport="java.util.*"%><htmlxmlns="http://www.w3.org/1999/xhtml"><head><title>Autorizar Uauários</title><linkrel="stylesheet"href="style.css"type="text/css"charset="utf-8"/><scripttype="text/javascript">functionautorizar(){document.getElementById("formAutorizar").submit();alert("OLA");}varaux="p";functionautoriza(){alert("Usuario aprovado");}functionexclui(){alert("Usuario excluido");}</script></head><%Vector<User>vUser=(Vector)request.getSession().getAttribute("vUser");%><body><%@includefile="superior.jsp"%><divid="menuAdm"><br/><br/><br/><br/><ahref="autorizaUser.html"id="usernovo"> Autorizar novos cadastros </a><br/><ahref="admUser.html"id="userantigo"> Administrar cadastros </a><br/><ahref="admPub.html"id="publicac"> Administrar publicações </a><br/></div><%for(inti=0;i<vUser.size();i++){%><divid ="manipularUser"><tableid="tabela"cellspacing="20"width="90%"><formid ="formAutorizar"method="post"action="RecebeDados"><p> Nome : <inputid="1"name="nome"type="hidden"value=<%out.println(vUser.get(i).getsLogin());%>/><%out.println(vUser.get(i).getsName());%></p><p> Email : <%=vUser.get(i).getsEmail()%></p><inputtype="button"value="Autorizar"id="autUsuario"onclick="autorizar();"/><inputtype="hidden"value="vUser.get(i).getsLogin()"name="login"/></form></table></div><%}%></body></html>
M
mateus.said
Bom dia pessoal,
Eu gero uma tabela dinamicamente, que irá receber os meus dados que vieram do banco de dados:
A partir dessa tabela eu tenho a opção de (editar ou deletar) quando eu escolho a opçao de editar no meu servlet eu preciso capturar o valor dos inputs, para poder realizar as alterações. POrém ao fazer o request, ele me traz tudo nulo.
Alguém saberia o Porque???
Muito Obrigado!
V
Valter_Henrique
mateus.said:
Bom dia pessoal,
Eu gero uma tabela dinamicamente, que irá receber os meus dados que vieram do banco de dados:
A partir dessa tabela eu tenho a opção de (editar ou deletar) quando eu escolho a opçao de editar no meu servlet eu preciso capturar o valor dos inputs, para poder realizar as alterações. POrém ao fazer o request, ele me traz tudo nulo.
Alguém saberia o Porque???
Muito Obrigado!
Cara, eu colocaria as variáveis que pego na minha servlet dentro do mesmo form que quero enviar, ai no caso estou vendo que as variaveis que estão em negrito seriam as que você quer pegar na servlet, certo?
Tente colocar elas dentro do form que você vai enviar para a sua servlet, entendeu?