Ho scritto un semplice bean di prova:
import java.io.Serializable;
public class Counter implements java.io.Serializable {
private int count = 0;
/** Creates a new instance of Counter */
public Counter() {
}
public int getCount() {
count++;
return this.count;
}
public void setCount(int count) {
this.count=count;
}
}
...e una pagina jsp per utilizzare questo bean:
<%@ page contentType="text/html"%>
<%@ page language="java" %>
<%@ page import="Counter" %>
<html>
<head><title>Bean and JSP Page</title></head>
<body>
<%-- <jsp:useBean id="beanInstanceName" scope="session" class="package.class" /> --%>
<%-- <jsp:getProperty name="beanInstanceName" property="propertyName" /> --%>
<jsp:useBean id="counter" scope="session" class="Counter" />
<!-- Imposta la proprietà count del bean al valore del parametro di richiesta count
utilizzando l'azione jsp:setProperty -->
<jsp:setProperty name="counter" property="count" param="count"/>
<% // Scrive il valore corrente della proprietà count
out.println("Count dal codice scriplet: "+counter.getCount()+"
");
%>
Conteggio da jsp:getProperty:
<jsp:getProperty name="counter" property="count" />
</body>
</html>
la struttura delle cartelle in tomcat è:
...webapps
|
root
| |
| prove --->BeanCounter.jsp
|
|
|
examples
|
tomcat-docs
...
...
nella sottocartelle WEB-INF di root nella cartella
classes ho messo il file compilato del bean
ma quando provo a visualizzare la mia jsp mi viene
visualizzato questo errore:
org.apache.jasper.JasperException: Unable to compile class for JSP
An error occurred at line: -1 in the jsp file: null
Generated servlet error:
[javac] Since fork is true, ignoring compiler setting.
[javac] Compiling 1 source file
[javac] Since fork is true, ignoring compiler setting.
[javac] C:\Programmi\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\prove\BeanCounter_ jsp.java:7: package Counter does not exist
[javac] import Counter.*;
[javac] ^
[javac] C:\Programmi\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\prove\BeanCounter_ jsp.java:54: cannot resolve symbol
[javac] symbol : class Counter
[javac] location: class org.apache.jsp.BeanCounter_jsp
[javac] Counter counter = null;
[javac] ^
[javac] C:\Programmi\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\prove\BeanCounter_ jsp.java:56: cannot resolve symbol
[javac] symbol : class Counter
[javac] location: class org.apache.jsp.BeanCounter_jsp
[javac] counter = (Counter) pageContext.getAttribute("counter", PageContext.SESSION_SCOPE);
[javac] ^
[javac] C:\Programmi\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\prove\BeanCounter_ jsp.java:59: cannot resolve symbol
[javac] symbol : class Counter
[javac] location: class org.apache.jsp.BeanCounter_jsp
[javac] counter = (Counter) java.beans.Beans.instantiate(this.getClass().getCl assLoader(), "Counter");
[javac] ^
[javac] C:\Programmi\Apache Group\Tomcat 4.1\work\Standalone\localhost\_\prove\BeanCounter_ jsp.java:77: cannot resolve symbol
[javac] symbol : class Counter
[javac] location: class org.apache.jsp.BeanCounter_jsp
[javac] out.print(JspRuntimeLibrary.toString((((Counter)pa geContext.findAttribute("counter")).getCount())));
[javac] ^
[javac] 5 errors
Come mai?