2012-12-07 21 views
6

Sto provando a chiamare una classe Java da una pagina JSP. Ho creato il progetto usando JDeveloper."L'importazione non può essere risolta" con JSP

Viene visualizzato un messaggio di errore "L'importazione non può essere risolta". Ho aggiunto il file di classe in WEB-INF, cartella radice, e ho provato la compilazione, ma mostra ancora lo stesso errore.

Di seguito si riporta il codice:

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/> 
    </head> 
    <body> 
     <p> 
      <%@ page import="java.util.*"%> 
      <%@ page import="Class1"%> 
      <% 
       Class1 tc=new Class1("test"); 
       out.print(tc.str); 
      %> 
     </p> 
    </body> 
</html> 
+0

Questo dovrebbe risolvere il tuo problema. http://stackoverflow.com/questions/1540857/eclipse-wtp-the-import-cannot-be-resolved-for-error-in-a-jsp-file-for-ac –

risposta

1

direttive pagina sono normalmente posizionati nella parte superiore di un JSP. Suppongo anche che Class1 sia nel pacchetto predefinito poiché non possiede un nome completo. Se Class1 si trova in un pacchetto, è necessario inserire il nome nell'importazione con il nome del pacchetto.

<%@ page import="java.util.*" %> 
<%@ page import="Class1" %> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/> 
</head> 
<body> 
    <p> 
<% 
Class1 tc=new Class1("test"); 
out.print(tc.str); 
    %> 
    </p> 
</body> 
+0

non penso che sarebbe davvero importante dichiarandoli nel tag body – PermGenError

+0

@GanGnaMStYleOverFlowErroR questo era più uno stile o un suggerimento per le migliori pratiche. –

+0

@km sì, è una buona pratica, ma non risolverebbe l'errore del compilatore, vero? – PermGenError

2

è necessario fornire un nome completo per la classe. (Packagename.classname) come:

<%@ page import="pkgname.Class1"%> 
+0

la classe non è pacchettizzata. L'imballaggio è necessario? – user1884132

+0

@ user1884132 sì, devi impacchettare la tua classe. è una cattiva pratica se non lo si impacchetta. controllare questo collegamento per ulteriori dettagli http://www.coderanch.com/how-to/java/PackageYourBeans – PermGenError

0

Prima di tutto, /WEB-INF/src è il posto sbagliato per mantenere i sorgenti di Java (dal WEB-INF contenuto della cartella vengono distribuiti al server); dovresti spostarli da /WEB-INF (in/src nella root del progetto, ad esempio)

In entrambi i casi, devi dire a Eclipse dove si trovano le tue fonti e dove vuoi che vengano create le classi. E 'fatto nella finestra delle proprietà del progetto:

  1. destro del mouse sul progetto in Eclipse, selezionare Proprietà

  2. Clicca su Java costruire sentiero sulla scheda Clicca fonte

  3. sinistra a destra

  4. Fare clic sul pulsante Aggiungi cartella e aggiungere la cartella di origine (/ WEB-INF/src o ovunque sia stata spostata)

  5. Assicurarsi Consenti cartelle di output per le cartelle di origine viene controllato sotto

  6. Sotto la cartella di output di selezione percorso di origine appena aggiunta e puntarlo a/WEB-INF/classes o altro luogo di vostra scelta

Problemi correlati