Evitaţi imbricarea ghilimelelor simple sau duble în tagurile JSP

Această regulă semnalează tagurile JSP unde ghilimele simple (apostroafe) sunt imbricate între ghilimele simple sau ghilimele duble sunt imbricate între ghilimele duble.

Exemplul 1:
<c:if test="<%=(link.indexOf(':') == -1)%>" >

În acest exemplu atributul test conţine secvenţa de caractere ':' care este imbricată în ghilimele simple exterioare '<%=(link.indexOf(':') == -1)%>'. Aceasta regulă va semnala acest exemplu.

O corecţie rapidă pentru această regulă este disponibilă în scanerul de sursă. Corecţia rapidă va pune într-o secvenţă escape ghilimele imbricate. În acest exemplu, ghilimele simple care din jurul ':' sunt puse în secvenţă escape.

Exemplul 1 cu corecţia rapidă aplicată:
<c:if test="<%=(link.indexOf(\':\') == -1)%>" >

Ghilimele imbricate din tagul JSP pot rezulta într-un mesaj de eroare similar cu următorul exemplu:

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...

Pentru informaţii suplimentare, vedeţi: