Vyvarovat se vnoření jednoduchých nebo dvojitých uvozovek ve značkách JSP

Toto pravidlo označí značky JSP, kde jsou apostrofy vnořeny do jednoduchých uvozovek nebo dvojitých uvozovek, jsou vnořeny do dvojitých uvozovek.

Příklad 1:
<c:if test="<%=(link.indexOf(':') == -1)%>" >

V tomto příkladu je test atribut obsahuje posloupnost znaků ':' který je vnořen ve vnějších apostrofech '<%=(link.indexOf(':') == -1)%>' . Toto pravidlo označí tento příklad.

Rychlá oprava pro toto pravidlo je k dispozici ve zdrojovém skeneru. Rychlá oprava mění význam vnořených uvozovek. V příkladu uvozovky, které obklopují ':' jsou uniklé.

Příklad 1 s použitou rychlou opravou:
<c:if test="<%=(link.indexOf(\':\') == -1)%>" >

Použití vnořených uvozovek ve značce JSP může mít za následek chybovou zprávu podobnou následujícímu příkladu:

Error Message:JSPG0048E: Page failed to validate using taglib validator for ... : org.xml.sax.SAXParseException: Attribute name "jsp:id" associated with an element type "c:if" must be followed by the " = " character.
Root Cause:com.ibm.ws.jsp.translator.JspTranslationException: JSPG0048E: Page failed to validate using taglib validator for...

Další informace viz: