Hola!Estoy aprendiendo jsp y tengo un problema.
He creado un simple bean que dependiendo de un número de pregunta que le envies te devuelve el número de respuesta correspondiente. El bean es este:
package mios;
import java.util.*;
public class ValidarPreguntas {
public int Pregunta;
public int Respuesta;
public ValidarPreguntas(){
Respuesta = -1;
}
public void setPregunta(int _i){
this.Pregunta = _i;
}
public int getPregunta(){
return this.Pregunta;
}
public int getRespuesta(){
//Respuestas de las preguntas
switch (this.Pregunta){
case 1: return 2;
case 2: return 3;
case 3: return 3;
default: return -1;
}
}
}
He compilado la clase y todo perfecto.
Luego me he creado un jsp con el siguiente código:
<%@ page language='java' contentType="text/html" %>
<%@ page import = "mios.ValidarPreguntas" %>
<jsp:useBean id="id_Respuesta" class="mios.ValidarPreguntas" />
<html>
<head><title>Trivial de cine</title></head>
<body bgcolor="white">
RESPUESTA:
<jsp:setProperty name="id_Respuesta" property="Pregunta" value="3" />
<jsp:getProperty name="id_Respuesta" property="Respuesta" />
</body></html>
Lo único que quiero es que me muestre un 3 ya que es la respuesta a la pregunta 3 pero el tomcat me da el siguiente error:
org.apache.jasper.JasperException: No puedo encontrar información de la propiedad 'Respuesta' en un bean del tipo 'mios.ValidarPreguntas'
...
En cambio, si en vez de utilizar el bean con estos tags lo utilizo con java funciona perfectamente. Es decir, si hago esto:
<%@ page language='java' contentType="text/html" %>
<%@ page import = "mios.ValidarPreguntas" %>
<jsp:useBean id="id_Respuesta" class="mios.ValidarPreguntas" />
<html>
<head><title>Trivial de cine</title></head>
<body bgcolor="white">
RESPUESTA:
<%
int numero=Integer.valueOf(request.getParameter("pregu nta")).intValue();
id_Respuesta.setPregunta(numero);
%>
<jsp:setProperty name="id_Respuesta" property="Pregunta" value="3" />
La respuesta a la pregunta <%=numero%> es:
<br>
<%
out.print(id_Respuesta.getRespuesta());
%>
</body></html>
me va de lujo....
Bueno, a ver si teneis alguna idea...seguro que es una tontería, pero es que no doy con ella :D
Un saludo!