2009-11-24 16 views
5

Il mio sistema: Ubuntu 9.10. Eclipse 3.5.1 con Java EE 1.2.1 (installazione manuale - NON da synaptic). Strumenti per sviluppatori Web 3.1.1JSP EL (linguaggio di espressione) che causa problemi in Eclipse

Ho recentemente adottato il codice di qualcun altro (un progetto Web dinamico) e ho riscontrato numerosi errori, avvisi e l'evidenziazione della sintassi errata in Eclipse. Ho ristretto la scelta a queste 4 righe di codice (creare un nuovo progetto Web dinamico, e quindi una nuova pagina JSP, e mettere questo nel corpo):

${(1<2)? "" : "no"} 
<%for (int i = 0; i < 5; i++) {%> 
<div>${5}</div> 
<%}%> 

Errori/Avvertenze/errato l'evidenziazione della sintassi

linea 1: linea di avvertimento giallo sotto '<': carattere non valido utilizzato nella stringa di testo ($ {(1 < 2) "sì": "no"}).

riga2: riga di errore rossa sotto 'f': Più annotazioni trovate su questa riga: 1) Errore di sintassi, inserire "Finalmente" per completare TryStatement. 2) Errore di sintassi, inserire "}" per completare ClassBody

line2: linea di errore rossa sotto ')': Errore di sintassi sul gettone ")", prova previsto dopo questo token

line3: linea di avvertimento giallo sotto ' div ': Nessun tag di fine (/ div).

line3: linea di avvertimento giallo sotto '<' di div di chiusura: le annotazioni multiple trovato in questa linea: 1) Carattere non valido utilizzato nella stringa di testo ($ {} 5 <%}%>). 2) Carattere non valido utilizzato nella stringa di testo ($ {5} <%}%>).

line3: '/ div' è nero e viola, invece di verde per il codice HTML

line4 (per il codice scriptlet?): L'apertura e chiusura scriplet tag '<%' e '%>' sono nero invece di orange

La pagina funziona come previsto in un browser: si ottiene "5" cinque volte. Se modifichi le virgolette vuote sulla riga 1 su "sì", salva, chiudi il file nell'editor, fai clic su di esso in Project Explorer> convalida, quindi riapri: tutti gli errori/gli avvisi/l'evidenziazione della sintassi errata scompaiono, ad eccezione di il primo (carattere non valido). Questo è incredibilmente irritante. Qualsiasi pensiero sarebbe molto apprezzato.

+0

Sì, il supporto dell'editor JSTL di Eclipse è una schifezza. –

+0

Qualcun altro può confermare lo stesso comportamento (se si crea un nuovo progetto Web dinamico, quindi una nuova pagina JSP e si inserisce il codice sopra citato nel corpo html)? Potrebbe essere necessario salvare, chiudere, convalidare e riaprire per vedere gli errori/gli avvertimenti. Grazie. P.s questo è un altro problema (probabilmente correlato); perché i nuovi errori/avvisi appaiono solo se si salva, chiude, convalida e riapre il file? Rende il genere di inutilizzabile ... – jackocnr

risposta

13

Eclipse WTP è ottimo, ma esattamente questo problema è un epic fail in Eclipse WTP anche per me. Sembra che ci stiano lavorando, ma fino ad allora ho semplicemente disabilitato/impostato per ignorare tutte le convalide relative a questa roba nelle preferenze dello spazio di lavoro tramite Web>JSP Files>Convalida> scorrere fino a molto in basso e imposta tutte le impostazioni di validazione EL su Ignora. Inoltre, nella preferenza principale Convalida deseleziona tutte le caselle relative a JSP. Questo tuttavia non sembra rimuovere ogni avvertimento/errore, ma almeno minimizza il fastidio.

IntelliJ IDEA gestisce la convalida JSP/EL molto meglio.

Per me, i sintomi mi fanno pensare che WTP utilizzi regexp invece di un parser stackbased per convalidare HTML/JSP/EL. Questo è un big no-no in caso di markup strutturato.

+0

Spiacente, non so come inviare messaggi privati. Per favore, vedi i seguenti commenti di risposta. Come ho capito, punti nel tuo blog. http://stackoverflow.com/a/22266892/2674303 – gstackoverflow

Problemi correlati