Newsgroup: it.comp.java
Titolo: Usare .class da JSP

Sicuramente sarà una cosa davvero semplice: qualcuno potrebbe indicarmi
cosa devo fare per utilizzare i metodi di una semplice classe java (non
un bean) da una pagina JSP ?
Grazie.



Intanto ti ringrazio per il tuo interessamento.  Purtroppo non riesco
ancora capire quale è il problema malgrado la semplicità.

La mia necessità è quella di scrivere una classe Java
dalla quale si possano richiamare soltanto metodi statici (sto convertendo
in JSP una applicazione JavaScript Server Side).

Istanziando la classe interessata da una applicazione  va tutto
bene, se invece la richiamo da una pagina JSP mi dà il seguente
errore:

Error: 500


Location: /JSP24H/cap01/Simple2.jsp


Internal Servlet Error:


org.apache.jasper.JasperException: Unable to compile class for JSPC:\tomcat\work\localhost_8080%2FJSP24H\_0002fcap_00030_00031_0002fSimple_00032_0002ejspSimple2_jsp_0.java:80:
Incompatible type for =. Can't convert void to java.lang.String.


                  
v = GenFunction.messaggio();


                    
^


Questa è la Pagina JSP che istanzia la classe Java:

<HTML>


<HEAD><TITLE>A Simple JSP</TITLE></HEAD>


<BODY>


<FONT COLOR="blue" FACE="Trebuchet">


<CENTER>


<%@ page import = "GenFunction"  %>


<% out.println("Prova !" + "<br>"); %>


The Current Date and Time is: <%= new java.util.Date()%>


<%


   String v = " ";


   v = GenFunction.messaggio();


   out.println( v );


%>


</CENTER>


</FONT>


</BODY>


</HTML>


Questa è la semplice classe che istanzio dalla Pagina JSP:

public class GenFunction {


    public static void main (String args[]) 
{


    }


    public static String messaggio() {


         String a;


       a = " Sono entrato nel metodo
statico !";


       return a;


    }


}


Come avevo detto, ho provato a richiamare questa classe da un altra
classe Java ed è andato tutto bene !.

Riporto di seguito la classe che la richiama.

public class Chiama {


public static void main (String args[])


  {


         String v;


         GenFunction x =
new GenFunction();


         v = x.messaggio();


         System.out.println(v);


  }


}


Perchè da JSP  il valore del metodo ritorna void ?  
Ho anche provato con un Cast senza ottenere il risultato sperato.

Grazie per l'eventuale aiuto.

 

 

 

Luca Davanzo ha scritto:





Vi ringrazio anticipatamente per l'eventuale interessamento.

Purtroppo non riesco ancora capire quale è il problema malgrado
la sua semplicità.


Error: 500


Location: /JSP24H/cap01/Simple2.jsp


Internal Servlet Error:









</CENTER>


</FONT>


</BODY>


</HTML>


Questa è la semplice classe di prova che istanzio dalla Pagina
JSP:

public class GenFunction {


    public static void main (String args[]) 
{


    }


    public static String messaggio() {


         String a;


       a = " Sono entrato nel metodo
statico !";


       return a;


    }


}


Come avevo detto, ho aperto una finestra DOS ed ho provato a richiamare
questa classe da un altra classe Java, ed è andato tutto bene !

Riporto di seguito la classe chiamante.

public class Chiama {


public static void main (String args[])


  {


         String v;


         GenFunction x =
new GenFunction();


         v = x.messaggio();


         System.out.println(v);


  }


}


Perchè da JSP  il valore del metodo ritornato è void
?   Ho anche provato con un Cast senza ottenere il risultato
sperato.



