Kerülje az idézőjelek és dupla idézőjelek egymásba ágyazását a JSP címkékben

Ez a szabály azokat a JSP címkéket jelöli meg, ahol idézőjelek vannak beágyazva idézőjelekbe vagy dupla idézőjelek vannak beágyazva dupla idézőjelekbe.

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

A példában a test attribútum tartalmazza az ':' karakterszekvenciát, amely külső idézőjelek közé van beágyazva ('<%=(link.indexOf(':') == -1)%>'). A szabály megjelöli ezt a példát.

A forráselemzőben rendelkezésre áll egy gyorsjavítás ehhez a szabályhoz. A gyorsjavítás Escape karakterekké alakítja át az egymásba ágyazott idézőjeleket. A példában az ':' kifejezés körüli idézőjelek lesznek Escape karakterré alakítva.

1. példa az alkalmazott gyorsjavítással:
<c:if test="<%=(link.indexOf(\':\') == -1)%>" >

Az egymásba ágyazott idézőjelek jelenléte a JSP címkében a következőhöz hasonló hibaüzenetet produkálhat:

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

További információkért lásd: