Passando um valor de uma página JSP para um bean

2 respostas
S
Olá Pessoal, sou novo em desenvolvimento web, estava dando uma olhada em uma vídeo aula e a dúvida é a seguinte .
tenho uma classe index.jsp que vai pegar o nome e a idade que o usuário irá digitar. Jogará na minha classe MyPojo e a classe add.jsp vai mostrar os dados que o usuário digitou, mas acontece que no nome retorna null e na idade retorna 0. Pq não consigo mostrar os dados na classe add.jsp ?

index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <jsp:useBean id="myBean" class="example.MyClass" scope="session"></jsp:useBean>
    <jsp:setProperty property="*" name="myBean.member"/>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="example.MyPojo"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSP PAGE</title>
</head>
<body>
<h1>JSP PAGE</h1>
	<form action="add.jsp" >
		Nome: <input size="30" name="nome"><p/>
		Idade: <input size="10" name="idade"><p/>
		<input type="submit">
	
	</form>
</body>
</html>

MyClass.java
package example;

public class MyClass {
	
	MyPojo member = new MyPojo();

	public MyPojo getMember() {
		return member;
	}

	public void setMember(MyPojo member) {
		this.member = member;
	}
}

MyPojo.java
package example;

public class MyPojo {
	
	private String nome;
	private int idade;
	
	public String getNome() {
		System.out.println(nome);
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public int getIdade() {
		System.out.println(idade);
		return idade;
	}
	public void setIdade(int idade) {
		this.idade = idade;
	}
}

add.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <jsp:useBean id="myBean" class="example.MyClass" scope="session"></jsp:useBean>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JSP PAGE</title>
</head>
<body>
	 <% out.print("Nome: " + myBean.getMember().getNome()); %> <p/>
	 <% out.print("Idade: " + myBean.getMember().getIdade()); %>
	
</body>
</html>[/b]

Atenciosamente,
Fernando.

2 Respostas

P

como não está usando jsf, você deve pegar os parametros do formulário

no add.jsp

<%  myBean.getMember().setNome(request.getParameter("nome"))); %> 
     <% myBean.getMember().setIdade(request.getParameter("idade"))); %>
S

Obrigado Puka, vou testar.

Criado 8 de outubro de 2009
Ultima resposta 8 de out. de 2009
Respostas 2
Participantes 2