Companheiros continuo eu em minha heroica jornada para alcançar o poder Jedi do Java.
Mexendo nos códigos da apostila da Caelum me veio uma dúvida, estou procurando na internet mas ate agora não achei a reposta.
Seguinte:
Temos o código de uma página web.
[code]
Adicionar tarefas
Descrição:
[/code]
Quem chama este controlador.
@Controller
public class TarefasController {
@RequestMapping("adicionaTarefa")
public String adiciona() {
TarefaDAO dao = new TarefaDAO();
dao.adiciona(tarefa);
return "tarefa-adicionada";
}
}
A página web passa para o controlador uma string, textarea name="descricao" , mas no método do controlador é chamado o método que adiciona uma classe,
dao.adiciona(tarefa); ,
Como a “variável vira uma classe” ? Quer dizer foi passada uma string e o método adiciona passa uma classe por parametro.
@RequestMapping("adicionaTarefa")
public String adiciona(Tarefa tarefa) {
TarefaDAO dao = new TarefaDAO();
dao.adiciona(tarefa);
return "tarefa/adicionada";
}
Seu método adiciona não seria como mostrado acima?
Na sua classe Tarefa existe um atributo chamado descricao, certo? O que o Spring MVC faz, ele cria o objeto para você e insere o valor que veio do seu formulário, note que no seu form tem o textarea que contém o valor “descricao”. Seria como ele fizesse isso:
Tarefa tarefa = new Terefa();
tarefa.setDescricao("descrição vinda do form");
Aí com o objeto criado, ele passa para o Dao.
Se eu estiver falando besteira, alguém me corrija por favor.
Voce precisaria criar uma classe DAO para executar a função adiciona do controlador
ai sim vc insere o campo descricao em um objeto do tipo tarefa
o meu ficou assim:
estou parado no exercício 11.20…poderia me dar uma ajuda!!!
quando chamo a página de listagem de tarefas, após ter feito todo o exercício de ajax, recebo o seguinte erro: “Configuration problem: Cannot locate BeanDefinitionParser for element [resources]”…Offending resource: ServletContext resource [WEB-INF/spring-context.xml
estou parado no exercício 11.20…poderia me dar uma ajuda!!!
quando chamo a página de listagem de tarefas, após ter feito todo o exercício de ajax, recebo o seguinte erro: “Configuration problem: Cannot locate BeanDefinitionParser for element [resources]”…Offending resource: ServletContext resource [WEB-INF/spring-context.xml
Desde já, agradeço pela atenção!![/quote]
Abre um topico e posta teu codigo, seu puder ajuda. =)
Na sua classe Tarefa existe um atributo chamado descricao, certo? O que o Spring MVC faz, ele cria o objeto para você e insere o valor que veio do seu formulário, note que no seu form tem o textarea que contém o valor “descricao”. Seria como ele fizesse isso:
Tarefa tarefa = new Terefa();
tarefa.setDescricao("descrição vinda do form");
Aí com o objeto criado, ele passa para o Dao.
Se eu estiver falando besteira, alguém me corrija por favor.
[/quote]
Oi cara,
Não falou besteira não é isso mesmo, na propria apostila da Caelum tem a explicação.
“Uma das grandes vantagens de frameworks modernos é que eles conseguem popular os objetos para nós.
Basta que de alguma forma, nós façamos uma ligação entre o campo que está na tela com o objeto que
queremos popular. E com o Spring MVC não é diferente.
Essa ligação é feita através da criação de um parâmetro do método adiciona. Esse parâmetro é o objeto que
deverá ser populado pelo Spring MVC com os dados que vieram da requisição.”