Cette règle marque les éléments de langage d'expression JSP contenant des variables avec des noms comportant des mots clés Java ou des mots clés réservés au langage d'expression.
A compter de WebSphere Application Server version 8, la validation du programme de traitement du langage d'expression est plus strict. Les identificateurs de variables du langage d'expression sont vérifiés pour s'assurer qu'ils ne contiennent pas de mots clés Java ou de mots réservés du langage d'expression. Si un identificateur de variable utilisé dans un script JSTL/EL inclut des mots clés Java ou des mots réservés du langage d'expression, le fichier JSP ne sera pas converti et une exception com.ibm.ws.jsp.translator.JspTranslationException est générée lors de l'exécution.
Cette règle marque les éléments du langage d'expression contenant des variables qui incluent l'un des ensemble en cours de mots clés réservés Java.
La règle marque également l'utilisation des mots réservés JSP dans les variables.
Le problème peut être résolu en modifiant le code JSP et Java afin d'éliminer l'utilisation des mots clés réservés. Si cette modification est trop étendue, une propriété système est disponible pour revenir
au comportement des versions antérieures à la version 8. Définissez la propriété système JVM
org.apache.el.parser.SKIP_IDENTIFIER_CHECK sur la valeur
true pour rétablir le comportement antérieur.
${testObject.class.name eq 'SomeValue'} est marqué, car la variable testObject.class.name contient le mot clé Java class.
Si cela n'est pas corrigé, l'expression générera une erreur d'exécution comme la suivante :
Si le traitement du langage d'expression est désactivé, les éléments du fichier JSP ne sont pas marqués.
Par exemple, le traitement du langage d'expression est désactivé lorsque la directive isELIgnored page est définie sur true. La règle ne marquera pas les éléments dans un fichier JSP marqué avec cette directive.
Le traitement du langage d'expression peut également être désactivé avec l'élément el-ignored du fichier web.xml. Dans cet exemple, webIgnored.jsp ne sera pas marqué par cette règle.
Le traitement du langage des expression est toujours désactivé pour les modules Web dans la versions 2.3 ou antérieure du servlet.
Pour plus d'informations, voir :