Bonjour, je suis novice en matière de JSP et de JavaBean. Je m'entraîne en écrivant une application où plusieurs pages partageront un composant JavaBean. La page "check.jsp" instancie le bean et définit une propriété sans aucune erreur. Mais lorsque j'essaie d'obtenir une propriété dans une autre jsp, survey.jsp
je reçois le erreur :
Statut HTTP 500 - file:/survey.jsp(16,15) jsp:getProperty for bean with name 'survey'. Le nom n'a pas été introduit auparavant selon la norme JSP.5.3.
J'ai vérifié deux fois que le nom dans les propriétés get et set est exactement le même que l'identifiant de mon haricot dans l'élément action. J'ai besoin d'aide.
CHECK.jsp :
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<jsp:useBean id="survey" scope="application" class="appScope.SurveyBean"/>
<jsp:setProperty name="survey" property="quantity" value='<%= request.getParameter("title")%>' />
<form action="/appScope/survey.jsp" method="POST">
<h3> Thanks for your input</h3>
<h3> Please check the survey summary status if you want</h3><br/>
<input type="submit" value="Check Status" />
</form>
</body>
</html>
C'est mon javabean : SurveyBean.java :
package appScope;
public class SurveyBean {
private int javaQuantity = 0;
private int csQuantity = 0;
public int getJavaQuantity()
{
return javaQuantity;
}
public int getCsQuantity()
{
return csQuantity;
}
public void setQuantity(String bookTitle)
{
try
{
if(bookTitle.equals("java"))
{
javaQuantity++;
}
if (bookTitle.equals("c"))
{
csQuantity++;
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
et voici enquête.jsp où je reçois l'erreur :
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<h1>Survey Summary</h1>
//ERROR IS HERE
Java = <jsp:getProperty name="survey" property="javaQuantity" /> <br/>
C# = <jsp:getProperty name="survey" property="csQuantity" />
</body>
</html>