usuario.setNome(request.getParameter(“nome”));
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!!
[code]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)) {
%>
Nome Usuario: | |
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:
[code]<%@ page import=“java.util., p1.” %>
Página de Criação <% 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);
%>
Voltar ao Menu InicialEstes são os USUÁRIOS e TAREFAS cadastrados no sistema:
Nome do Usuario | Cargo | Tarefa | Descrição da tarefa | |
<%= u.getNome() %> | <%= u.getEmail() %> | <%= u.getCargo() %> | <%= t.getNomeT() %> | <%= t.getDesc() %> |
Aqui eu gerencio os vetores de usuarios
[code]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;
}
}[/code]
Aqui eu mostro na tela as informaçoes de um usuario ja cadastrado!
[code]<%@ page import=“java.util., p1.” %>
<%
Vector asTarefas = GerenciadorTarefa.getTarefas();
Vector osUsuarios = GerenciadorUsuario.getUsuarios();
if (osUsuarios.isEmpty() && osUsuarios.isEmpty()){
%>
ATUALMENTE NÃO EXISTE NENHUM USUÁRIO CADASTRADO NO SISTEMA
<%} else {
%>
Para ALTERAR os dados do usuário no
sistema clique no NOME DO USUÁRIO:
<%
Tarefa t;
Usuario u;
for (int i=0;i<osUsuarios.size();i++) {
u = (Usuario)osUsuarios.elementAt(i);
t = (Tarefa)asTarefas.elementAt(i);
%>
Nome do Usuario | Cargo | Tarefa | Descrição da tarefa | |
<%= u.getNome() %> | <%= u.getEmail() %> | <%= u.getCargo() %> | <%= t.getNomeT() %> | <%= t.getDesc() %> |
<%}}%>
aqui, mostro as informacoes podedo alteralas precisando fazer com que elas sejam alteradas.
isso que nao consigo fazer!
[code]<%@ page import=“java.util., p1.” %>
Cadastro do Usuario Solicitado
Na tabela abaixo, voce poderá selecionar outro usuário caso desejar.
<%
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)) {
%>
Nome Usuario: | |
Email do Usuario: | |
Cargo do Usuário: | |
Data de Nascimento: | / / |
Tarefa: | |
Descrição da Tarefa: | |
Término da Tarefa: | / / |
Status da Tarefa: | Normal Urgente Imediata |
Usuário em Férias ? | Não Sim |
<%}
usuario.setNome(request.getParameter (“id”));
} else { %>
Nome do Usuario | Cargo | Tarefa | Descrição da tarefa | |
<%= u.getNome() %> | <%= u.getEmail() %> | <%= u.getCargo() %> | <%= t.getNomeT() %> | <%= t.getDesc() %> |
<% }
} %>
Voltar [/code]
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??