Diese Regel markiert in der JSP-Ausdruckssprache Elemente mit Variablen, deren Namen Java-Schlüsselwörter oder reservierte Wörter der Ausdruckssprache enthalten.
Ab WebSphere Application Server Version 8 ist die Validierung des Ausdruckssprachenprozessors
strenger. Die IDs von Variablen der Ausdruckssprache werden überprüft, um sicherzustellen, dass sie keine
Java-Schlüsselwörter oder reservierten Wörter der Ausdruckssprache enthalten.
Wenn eine Variable in einem JSTL/EL-Script Java-Schlüsselwörter oder reservierte Wörter der Ausdruckssprache enthält, wird die
JSP-Datei nicht umgesetzt und in der Laufzeit eine Ausnahme
com.ibm.ws.jsp.translator.JspTranslationException ausgelöst.
Diese Regel markiert in der Ausdruckssprache jedes Element, das Variablen mit einem der derzeit reservierten Java-Schlüsselwörter enthält.
Außerdem markiert die Regel die Verwendung reservierter JSP-Wörter in Variablen.
Sie können das Problem lösen, indem Sie den JSP- und Java-Code modifizieren. Eliminieren Sie die reservierten
Schlüsselwörter. Wenn diese Änderung zu umfangreich ist, kann das Verhalten mit einer bereitgestellten
Systemeigenschaft auf das Verhalten vor Version 8 zurückgesetzt werden. Setzen Sie die JVM-Systemeigenschaft
org.apache.el.parser.SKIP_IDENTIFIER_CHECK
auf den Wert
true, wenn sie es auf das frühere Verhalten zurücksetzen möchten.
${testObject.class.name eq 'SomeValue'} der Ausdruckssprache
wird markiert, weil die Variable testObject.class.name das
Java-Schlüsselwort class enthält.
Wird dieser Fehler nicht korrigiert, erzeugt dieser Ausdruck einen Laufzeitfehler ähnlich dem folgenden:
Wenn die Verarbeitung der Ausdruckssprache inaktiviert ist, werden keine Elemente in der JSP-Datei markiert.
Die Verarbeitung der Ausdruckssprache ist beispielsweise inaktiviert, wenn die page-Anweisung isELIgnored
auf true gesetzt ist.
In einer JSP-Datei mit dieser Anweisung markiert die Regel keine Elemente.
Die Verarbeitung der Ausdruckssprache kann auch inaktiviert sein, wenn in der Datei web.xml das Element el-ignored
verwendet wird. Im folgenden Beispiel wird die Datei webIgnored.jsp nicht von dieser Regel markiert.
Für Webmodule bis Servlet-Version 2.3 ist die Verarbeitung der Ausdruckssprache immer inaktiviert.
Weitere Informationen finden Sie in den folgenden Dokumenten: