Questa regola contrassegna gli elementi EL (expression language) JSP che contengono variabili con nomi che contengono parole chiave Java o parole chiave riservate EL.
A partire da WebSphere Application Server Versione 8, la convalida del processore del linguaggio
di espressione è diventata più rigorosa. Viene eseguito il controllo degli identificativi di variabile EL
per verificare che non contengano parole chiave Java o parole riservate EL. Se un identificativo di variabile utilizzato in uno script JSTL/EL contiene parole chiave Java o parole riservate EL,
il file JSP non viene convertito e, al runtime, viene generata un'eccezione
com.ibm.ws.jsp.translator.JspTranslationException.
Questa regola contrassegna qualsiasi elemento del linguaggio di espressione che contiene variabili che comprendono uno degli insiemi correnti di parole chiave riservate Java.
La regola contrassegna anche l'utilizzo di parole chiave riservate JSP nelle variabili.
Il problema può essere risolto modificando il JSP ed il codice Java in modo da eliminare
l'utilizzo delle parole chiave riservate. Se questa modifica è
troppo estesa, è disponibile una proprietà di sistema per ripristinare il
comportamento precedente alla Versione 8. Impostare la proprietà di sistema JVM
org.apache.el.parser.SKIP_IDENTIFIER_CHECK
sul valore
true
per tornare al comportamento precedente.
${testObject.class.name eq 'SomeValue'}
viene contrassegnato perché la variabile testObject.class.name contiene la parola
chiave Java class.
Se non corretta, questa espressione causa un errore di runtime simile a:
Se l'elaborazione del linguaggio di espressione è disabilitata, gli elementi nel file JSP non vengono contrassegnati.
Ad esempio, l'elaborazione del linguaggio di espressione è disabilitata quando la direttiva isELIgnored
page è impostata su true. La regola non contrassegna elementi in un file JSP contrassegnato con questa direttiva.
L'elaborazione del linguaggio di espressione può essere disabilitata anche utilizzando l'elemento el-ignored. In questo esempio, webIgnored.jsp non verrà contrassegnato da questa regola.
L'elaborazione del linguaggio di espressione è sempre disabilitata per i moduli Web con versione servlet 2.3 o precedente.
Per ulteriori informazioni, consultare