usuario.setNome(request.getParameter(“nome”));
O que tem de errado neste Comando?
19 Respostas
ta retornando null!!
Parece que não tem nada de errado.
Primeiro parece que este método não retorna nada. Verifica que o getParameter traz o valor do parâmetro “nome”.
Posta um pouco mais do código. 
Meu chute é que nao tem nada setando o parametro nome (tipo um combobox, ou um textfield).
FIZ DESTA FORMA!!
String idUsuario = (String) request.getParameter("id");
if( idUsuario != null ) {
int id = Integer.parseInt(idUsuario);
Usuario usuario = GerenciadorUsuario.pegarUsuario(id);
Tarefa tarefa = GerenciadorTarefa.pegarTarefa(id);
if( (usuario != null) && (tarefa != null)) {
%>
<input type="hidden" name="id" value="<%= id %>">
<table>
<tr>
<td>Nome Usuario:</td>
<td><input type="text" name="nome" value="<%= usuario.getNome()%>"></td>
</tr>
<tr>
<tr>
<%
usuario.setNome(request.getParameter("nome"));
%>
USE A TAG CODE PARA MARCAR SEU CÓDIGO.
Qual o sentido de usuario.setNome(request.getParameter(“nome”)); nesse teu código ai?
no html eu pego o nome que ja cadastrei no vetor usuario, e mostro na tela!!!
estou tentando altera-lo
usuario NÃO é um vetor. É uma variável com uma instância de um objeto, provavelmente do tipo Usuario.
E ali você está jogando null para o nome do usuário, pois a primeira vez que você acessa a página o parâmetro deve ser nulo.
como posso fazer isso pode me ajudar???
esse codigo gera o vetor
public class GerenciadorUsuario {
private static Vector usuarios = new Vector();
public static void adicionarUsuario(Usuario novoUsuario) {
usuarios.add(novoUsuario);
}
O código do jsp que vc mostrou não tem nada de Vector e nao to entendo como vc quer relacionar uma coisa com outra. Sem saber dos requisitos nao da pra entender mto.
vc tem msn?? posso te explicar ali!!
To quase 3 semanas fazendo isso e so falta esse detalhe de alterar
Continue no forum… aqui é o lugar de resolver isso.
neste código eu cadastro o Usuario:
<%@ page import="java.util.*, p1.*" %>
<html>
<title>Página de Criação</title>
<%
String nome = request.getParameter("nome");
String email = request.getParameter("email");
String cargo = request.getParameter("cargo");
String dia = request.getParameter("dia");
String mes = request.getParameter("mes");
String ano = request.getParameter("ano");
String nomeT = request.getParameter("nomeT");
String desc = request.getParameter("desc");
String diaT = request.getParameter("diaT");
String mesT = request.getParameter("mesT");
String anoT = request.getParameter("anoT");
String statusStr = request.getParameter("status");
String strFer = request.getParameter("ferias");
int status;
if (statusStr.equals("normal")) {
status = Tarefa.NORMAL;
} else if (statusStr.equals("urgente")) {
status = Tarefa.URGENTE;
} else {
status = Tarefa.IMEDIATA;
}
if ( nome.equals("") || email.equals("") || cargo.equals("") || dia.equals("") ||
mes.equals("") || ano.equals("") || nomeT.equals("") || desc.equals("") ||
diaT.equals("") || mesT.equals("") || anoT.equals("") ) {
%>
<jsp:forward page="criacaoFalhou.html"/>
<%
}else {
boolean fer = strFer.equals("true") ? true : false;
Tarefa tarefa = new Tarefa(nomeT, desc, diaT, mesT, anoT, status);
Usuario usuario = new Usuario (nome, email, cargo, dia, mes, ano, fer);
GerenciadorUsuario.adicionarUsuario(usuario);
GerenciadorTarefa.adicionarTarefa(tarefa);
%>
<center>
<ALIGN=Left></H4><A HREF = "GerenciaUsuario.html">Voltar ao Menu Inicial</h4></A>
<h2>Estes são os USUÁRIOS e TAREFAS cadastrados no sistema:</h2>
</td>
</tr>
<table border=1>
<tr>
<%
Vector asTarefas = GerenciadorTarefa.getTarefas();
Vector osUsuarios = GerenciadorUsuario.getUsuarios();
Tarefa t;
Usuario u;
for (int i=0;i<osUsuarios.size();i++) {
u = (Usuario)osUsuarios.elementAt(i);
t = (Tarefa)asTarefas.elementAt(i);
%>
<td colspan="1"><b>Nome do Usuario</b></td><td><b>Email</b></td><td><b>Cargo</b></td><td>
<b>Tarefa</b></td><td><b>Descrição da tarefa</b></td>
<tr>
<tr>
<td><%= u.getNome() %></a></td><td><%= u.getEmail() %></td>
<td><%= u.getCargo() %></td><td><%= t.getNomeT() %></td><td><%= t.getDesc() %></td>
<tr>
<% } %>
</table>
<%
}
%>
<TD ALIGN="LEFT"><A HREF = "criaUsuario.html">Realizar Novo Cadastro</td></A>
</html>
Aqui eu gerencio os vetores de usuarios
package p1;
import java.util.*;
public class GerenciadorUsuario {
private static Vector usuarios = new Vector();
public static void adicionarUsuario(Usuario novoUsuario) {
usuarios.add(novoUsuario);
}
public static void removerUsuario(Usuario novoUsuario) {
usuarios.remove(novoUsuario);
}
public static Usuario removerUsuario(int idd) {
if (usuarios.size() > 0)
return (Usuario) usuarios.remove(idd);
return null;
}
public static Vector getUsuarios() {
return usuarios;
}
public static Usuario pegarUsuario(int id) {
if (usuarios.size() > 0)
return (Usuario) usuarios.get(id);
return null;
}
}
Aqui eu mostro na tela as informaçoes de um usuario ja cadastrado!
<%@ page import="java.util.*, p1.*" %>
<html>
<br>
</td>
</tr>
<%
Vector asTarefas = GerenciadorTarefa.getTarefas();
Vector osUsuarios = GerenciadorUsuario.getUsuarios();
if (osUsuarios.isEmpty() && osUsuarios.isEmpty()){
%>
<center><h2>ATUALMENTE NÃO EXISTE NENHUM USUÁRIO CADASTRADO NO SISTEMA</h2>
<%} else {
%>
<h2>Para ALTERAR os dados do usuário no
<br>sistema clique no NOME DO USUÁRIO:</h2>
<%
Tarefa t;
Usuario u;
for (int i=0;i<osUsuarios.size();i++) {
u = (Usuario)osUsuarios.elementAt(i);
t = (Tarefa)asTarefas.elementAt(i);
%>
<table border=1>
<tr>
<td colspan="1"><b>Nome do Usuario</b></td><td><b>Email</b></td><td><b>Cargo</b></td><td>
<b>Tarefa</b></td><td><b>Descrição da tarefa</b></td>
<tr>
<tr>
<td><a href="altera.jsp?id=<%=i%>"><%= u.getNome() %></a></td><td><%= u.getEmail() %></td>
<td><%= u.getCargo() %></td><td><%= t.getNomeT() %></td><td><%= t.getDesc() %></td>
<tr>
</table>
<br>
<%}}%>
<TD ALIGN="LEFT"><A HREF = "GerenciaUsuario.html">Menu Principal</td></A>
</html>
aqui, mostro as informacoes podedo alteralas precisando fazer com que elas sejam alteradas.
isso que nao consigo fazer!
<%@ page import="java.util.*, p1.*" %>
<html>
<body>
<h2>Cadastro do Usuario Solicitado</h2>
<h4>Na tabela abaixo, voce poderá selecionar outro usuário caso desejar.</h4>
<%
String idUsuario = (String) request.getParameter("id");
if( idUsuario != null ) {
int id = Integer.parseInt(idUsuario);
Usuario usuario = GerenciadorUsuario.pegarUsuario(id);
Tarefa tarefa = GerenciadorTarefa.pegarTarefa(id);
if( (usuario != null) && (tarefa != null)) {
%>
<input type="hidden" name="id" value="<%= id %>">
<table>
<tr>
<td>Nome Usuario:</td>
<td><input type="text" name="nome" value="<%= usuario.getNome()%>"></td>
</tr>
<tr>
<tr>
<tr>
<td>Email do Usuario:</td>
<td><input type="text" name="nome" value="<%= usuario.getEmail()%>"></td>
</tr>
<tr>
<tr>
<tr>
<td>Cargo do Usuário:</td>
<td><input type="text" name="nome" value="<%= usuario.getCargo()%>"></td>
</tr>
<tr>
<tr>
<tr>
<td>Data de Nascimento:</td>
<td> <input type="text" SIZE=2 name="dia" value="<%= usuario.getDia()%>"> /
<input type="text" SIZE=2 name="mes" value="<%= usuario.getMes()%>"> /
<input type="text" SIZE=4 name="ano" value="<%= usuario.getAno()%>"></td>
</tr>
<tr>
<tr>
<tr>
<td>Tarefa:</td>
<td><input type="text" name="nome" value="<%= tarefa.getNomeT()%>"></td>
</tr>
<tr>
<tr>
<tr>
<td>Descrição da Tarefa:</td>
<td><input type="text" name="nome" value="<%= tarefa.getDesc()%>"></td>
</tr>
<tr>
<tr>
<tr>
<td>Término da Tarefa:</td>
<td> <input type="text" SIZE=2 name="dia" value="<%= tarefa.getDiaT()%>"> /
<input type="text" SIZE=2 name="mes" value="<%= tarefa.getMesT()%>"> /
<input type="text" SIZE=4 name="ano" value="<%= tarefa.getAnoT()%>"></td>
</tr>
<tr>
<tr>
<tr>
<td>Status da Tarefa:</td>
<td><select name="status" value="<%= tarefa.getStatus()%>">
<option value="normal">Normal
<option value="urgente">Urgente
<option value="imediata">Imediata
</select></td>
</tr>
<tr>
<tr>
<tr>
<td>Usuário em Férias ?</td>
<td><select name="ferias" value="<%= usuario.getFer()%>">
<option value="nao">Não
<option value="sim">Sim
</select></td>
</tr>
<tr><td> </td></tr>
<tr>
<td><input type="submit" value="Alterar Dados" onclick="document.location='/inf1371/verificarUsuarioAdmin.jsp?id=<%= id %>'"></td>
</tr>
</table>
<%}
usuario.setNome(request.getParameter ("id"));
} else { %>
<table border=1>
<tr>
<td colspan="1"><b>Nome do Usuario</b></td>
<td><b>Email</b></td>
<td><b>Cargo</b></td>
<td><b>Tarefa</b></td>
<td><b>Descrição da tarefa</b></td>
</tr>
<%
Vector asTarefas = GerenciadorTarefa.getTarefas();
Vector osUsuarios = GerenciadorUsuario.getUsuarios();
Tarefa t;
Usuario u;
for (int i=0;i<osUsuarios.size();i++) {
u = (Usuario)osUsuarios.elementAt(i);
t = (Tarefa)asTarefas.elementAt(i);
%>
<tr>
<td><a href="altera.jsp?id=<%=i%>"><%= u.getNome() %></a></td>
<td><%= u.getEmail() %></td>
<td><%= u.getCargo() %></td>
<td><%= t.getNomeT() %></td>
<td><%= t.getDesc() %></td>
</tr>
<% }
if (osUsuarios.size() == 0) { %>
<CENTER><H2>NÃO EXISTEM USUÁRIOS CADASTRADOS NO SISTEMA !!!</H2>
<% } else { %>
</table>
<A HREF = "criaUsuario.html">Realizar Novo Cadastro</td>
<% }
} %>
<br>
<br>
<A HREF = "GerenciaUsuario.html">Voltar</A>
</form>
</body>
</html>
1 - COLOQUE SEU CÓDIGO DENTRO DA TAG CODE
2 - Você não deveria usar Java dentro do seu JSP e dividir no modelo MVC (mas isso é outro assunto)
3 - Use a interface java.util.List em vez de Vector nas declarações (ok: dentro da classe GerenciadorUsuario você pode instanciar a lista como um Vector - por causa da concorrência - já que usa um Vector ao invés de um banco de dados)
4 - Use Iterator para percorrer uma lista (ou vector) em vez de um loop for diretamente na lista.
5 - Quando você processa dados de um formulário HTML, primeiro você precisa enviá-los ao server.
6 - Você está usando a tag <select> de maneira errada. Ela não tem o atributo value.
Não posso usar Iterator, tenho que usar vetor pq foi o professor que disse para usar.
Vc poderia moldar a classe onde postei
usuario.setNome(request.getParameter (“id”));
para poder funcionar??
Claro que você pode (E DEVE) usar Iterator… se seu professor não deixa, ele não conhece Java.
Iterator it = usuarios.iterator();
while( it.hasNext() ) {
Usuario u = (Usuario) it.next();
// ...
}
E pra validar os dados alterados, faz algo parecido com o JSP que grava os usuários (http://www.guj.com.br/posts/list/30423.java#163434), porém você deve considerar o ID do usuário.
Daniel, o professor disse que devemos fazer isso com vetor, foi norma do trabalho!! Não é pelo fato de ser melhor e norma do trabalho!!
So falta alterar, somente isso… pode me ajudar neste ponto??