Criar tabela dinâmicamente e pegar valor em servlet

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?

Quando eu apertar autorizar, eu quero pegar o nome do usuário, ‘Marcela’ por exemplo, e enviar o form que este botão esta para a servlet.

Não estou conseguindo fazer isso, estou há mais de 3 horas pensando nisso… se alguém puder me ajudar agradeceria muito.

Esse é o meu código :

[code]
<%@page import=“java.util.*” %>

Autorizar Uauários

<% Vector vUser = (Vector) request.getSession().getAttribute(“vUser”);%>

<%@ include file="superior.jsp"%>




Autorizar novos cadastros
Administrar cadastros
Administrar publicações

<% for (int i = 0; i < vUser.size(); i++){ %>




Nome : <% out.println(vUser.get(i).getsName()); %>


Email : <% out.println(vUser.get(i).getsEmail()); %>




</table>
</div>

<% } %>

[/code]

Obrigado desde já.

Atenciosamente,
Valter Henrique.

ola

vc tem varios forms com o mesmo id.

existem varias formas de resolver isso… uma delas é bem porca mas vai te dar ideias.

  1. 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

  2. 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 :slight_smile:

Uma terceira parte seria vc fazer isso via ajax, que é bem tranquila com JQuery ou mesmo outros frameworks j2ee… :slight_smile:

[code]
<%@page import=“java.util.*” %>

Autorizar Uauários

<% Vector vUser = (Vector) request.getSession().getAttribute(“vUser”);%>

<%@ include file="superior.jsp"%>

<% if (vUser.isEmpty()){ %>

logo_2.png

Não há usuário para autorizar!!!

<% }else{ %>

Nome : /> <% out.println(vUser.get(0).getsName()); %>

Email : <% out.println(vUser.get(0).getsEmail()); %>

	<p> Nome : <input id="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>
	<input type="button" value="Autorizar" id="autUsuario" onclick="autorizar();" />
	<input type="hidden" value="Autorizar" name="acao"/>


</form>
<%} %>
[/code]

Servlet:

public void authorize (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		// aqui estou pegando o login do usuário, não o nome dele
		String sLoginUser = request.getParameter("nome");
		
		System.out.println(sLoginUser);
		
		Vector<User> vUser = new Vector();

		try {

			DAO objDao = new DAO();

			if (objDao.authorizeUser(sLoginUser)){
				autorizarNovosCadastros(request, response);
			}
			
		} catch (ExceptionTreat e) {
			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);
		*/

	}

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 :

[code]
<%@page import=“java.util.*” %>

Autorizar Uauários

<% Vector vUser = (Vector) request.getSession().getAttribute(“vUser”);%>

<%@ include file="superior.jsp"%>




Autorizar novos cadastros
Administrar cadastros
Administrar publicações

<% for (int i = 0; i < vUser.size(); i++){ %>




Nome : <input id=“1” name=“nome” type=“hidden” value=<% out.println(vUser.get(i).getsLogin()); %>/> <% out.println(vUser.get(i).getsName()); %>


Email : <%=vUser.get(i).getsEmail()%>







<%}%> [/code]

Bom dia pessoal,

Eu gero uma tabela dinamicamente, que irá receber os meus dados que vieram do banco de dados:

                    <th scope="col" abbr="Id">N&uacute;mero Linha</th> 
                    <th scope="col" abbr="Desc_Linha">Descri&ccedil;&atilde;o da Linha</th> 
                    <th scope="col" abbr="Edit">Editar</th> 
                    <th scope="col" abbr="Delit">Deletar</th>
                    <th scope="col" abbr="id" class="ocultaColuna">ID</th>
                    
                </tr> 
            </thead> 
      <c:forEach var="linha" items="${sessionScope['colecaoLinhas']}">
            
            <tbody> 
                <tr>
                    <td>
                    [b]<input type="text" size="3" name="numeroLinha" value="${linha.numeroLinha}">
                    </input>[/b]
                    </td> 
                    <td>
                    [b]<input type="text" size="60" name="nomeLinha" value="${linha.nomeLinha}">
                    </input>[/b]
                    </td>
                    <td>
                    <form  name="edit_linha" action="ManutencaoLinha" method="post">
                    <input type="hidden" name="identificador" value="4"/>
                    <input type="image" src="images/Geral/edit.png" value="submit"/>
                    </form> 
                    </td>
                    <td><input type="image" src="images/Geral/delete.png" value="submit"/></td> 
                    <td class="ocultaColuna"><input type="hidden" name="ident" size="60" value="${linha.id}"/></td>
                </tr>
               </tbody> 
            
       </c:forEach>                    
            
	</table>

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!
:smiley:

[quote=mateus.said]Bom dia pessoal,

Eu gero uma tabela dinamicamente, que irá receber os meus dados que vieram do banco de dados:

                    <th scope="col" abbr="Id">N&uacute;mero Linha</th> 
                    <th scope="col" abbr="Desc_Linha">Descri&ccedil;&atilde;o da Linha</th> 
                    <th scope="col" abbr="Edit">Editar</th> 
                    <th scope="col" abbr="Delit">Deletar</th>
                    <th scope="col" abbr="id" class="ocultaColuna">ID</th>
                    
                </tr> 
            </thead> 
      <c:forEach var="linha" items="${sessionScope['colecaoLinhas']}">
            
            <tbody> 
                <tr>
                    <td>
                    [b]<input type="text" size="3" name="numeroLinha" value="${linha.numeroLinha}">
                    </input>[/b]
                    </td> 
                    <td>
                    [b]<input type="text" size="60" name="nomeLinha" value="${linha.nomeLinha}">
                    </input>[/b]
                    </td>
                    <td>
                    <form  name="edit_linha" action="ManutencaoLinha" method="post">
                    <input type="hidden" name="identificador" value="4"/>
                    <input type="image" src="images/Geral/edit.png" value="submit"/>
                    </form> 
                    </td>
                    <td><input type="image" src="images/Geral/delete.png" value="submit"/></td> 
                    <td class="ocultaColuna"><input type="hidden" name="ident" size="60" value="${linha.id}"/></td>
                </tr>
               </tbody> 
            
       </c:forEach>                    
            
	</table>

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!
:smiley: [/quote]

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?

Post aqui o resultado depois, tudo bem?

Abraços.