Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Bean e jsp

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    11

    Bean e jsp

    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?

  2. #2
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    Ciao... allora da come hai scritto la tua JSP e cioè:

    <%-- <jsp:useBean id="beanInstanceName" scope="session" class="package.class" /> --%>
    Stai dicendo che nella cartella classes di web-inf ci dovrebbe essere una cartella package in cui c'è il .class class, però il tuo bean si non si trvoa in una cartella package e la classe dovrebe essere Counter.class; quindi dovresti scrivere:

    <%-- <jsp:useBean id="beanInstanceName" scope="session" class="Counter" /> --%>

    così fai capire al web server che la classe cui riferirsi si chiama Counter;
    tra l'altro non ho mai visto utilizzare un bean mettendo <%-- --%>, di solito io l'uso senza e cioè:


    <jsp:useBean id="pool" scope = "application" class="poolconnessione.ConnectionPool"/>

    Spero ti sia d'aiuto..... ciao
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    11
    non hai mai visto quel tag perchè è un commento, subito sotto l'ho scritto esattamente come lo hai scritto tu.

  4. #4
    Utente di HTML.it L'avatar di Angelo1974
    Registrato dal
    Feb 2003
    Messaggi
    1,107
    ehm..... scusami non c'avevo fatto caso pardon
    Se vuoi trovare l'arcobaleno, devi sopportare la pioggia

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.