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 obsahuje atribut test posloupnost znaků ':', která je vnořena ve vnějších jednoduchých uvozovek '< %=(link.indexOf(':') == -1)%>'. Toto pravidlo by mělo označovat 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 tomto příkladu je uvozovkám obklopujícím ':' změněn význam tzv. únikovým znakem.

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: