O que tem de errado neste Comando?

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. :wink:
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)) {

%>

<% usuario.setNome(request.getParameter("nome")); %> [/code]

USE A TAG CODE PARA MARCAR SEU CÓDIGO.

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 Inicial

Estes são os USUÁRIOS e TAREFAS cadastrados no sistema:

<%
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);

%>

<% } %>

Nome do Usuario Email Cargo Tarefa Descrição da tarefa
<%= u.getNome() %> <%= u.getEmail() %> <%= u.getCargo() %> <%= t.getNomeT() %> <%= t.getDesc() %>
<% } %> Realizar Novo Cadastro [/code]

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 Email Cargo Tarefa Descrição da tarefa
<%= u.getNome() %> <%= u.getEmail() %> <%= u.getCargo() %> <%= t.getNomeT() %> <%= t.getDesc() %>

<%}}%>

Menu Principal [/code]

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 { %>

<%
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);

%>

<% }
if (osUsuarios.size() == 0) { %>

NÃO EXISTEM USUÁRIOS CADASTRADOS NO SISTEMA !!!

<% } else { %>

Nome do Usuario Email Cargo Tarefa Descrição da tarefa
<%= u.getNome() %> <%= u.getEmail() %> <%= u.getCargo() %> <%= t.getNomeT() %> <%= t.getDesc() %>

Realizar Novo Cadastro

<% }
} %>



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??