Toto pravidlo označí prvky jazyka výrazů (EL) JSP, které obsahují proměnné s názvy obsahujícími klíčová slova Java nebo vyhrazená klíčová slova EL.
Počínaje verzí WebSphere Application Server 8 se ověření platnosti procesoru jazyka výrazů stalo striktnějším. Identifikátory proměnné EL jsou kontrolovány, aby se zajistilo, že neobsahují klíčová slova Java nebo vyhrazená slova EL. Pokud identifikátor proměnné použitý ve skriptu JSTL/EL obsahuje buď klíčová slova Java, nebo vyhrazená slova EL, nebude se soubor JSP překládat a za běhu dojde k výjimce com.ibm.ws.jsp.translator.JspTranslationException.
Toto pravidlo označí libovolný prvek jazyka výrazů, který obsahuje proměnné, jež obsahují libovolnou aktuální sadu vyhrazených klíčových slov Java.
Pravidlo rovněž označí použití vyhrazených slov JSP v proměnných.
Tento problém lze vyřešit úpravou kódu JSP a Java tak, aby nedocházelo k použití vyhrazených klíčových slov. Je-li tato změna příliš rozsáhlá, je k dispozici systémová vlastnost pro návrat k chování před verzí 8. Nastavte systémovou vlastnost JVM org.apache.el.parser.SKIP_IDENTIFIER_CHECK na hodnotu true, aby se vrátila k předchozímu chování.
${testObject.class.name eq 'SomeValue'}
je označen, protože proměnná testObject.class.name obsahuje klíčové slova Java class.
Není-li tento výraz pevný, vytvoří se běhová chyba podobná této:
Je-li zpracování jazyka výrazů zakázáno, prvky v souboru JSP nebudou označeny.
Například zpracování jazyka výrazů je zakázáno, když je direktiva isELIgnored page nastavena na true. Pravidlo neoznačí prvky v souboru JSP, který je označen touto direktivou.
Zpracování jazyka výrazů lze také zakázat pomocí prvku web.xml el-ignored. V tomto příkladu nebude webIgored.jsp označen tímto pravidlem.
Zpracování jazyka výrazů je vždy zakázáno pro webové moduly ve verzi Servlet 2.3 nebo nižší.
Další informace viz