Verschachtelung einfacher und doppelter Anführungszeichen in JSP-Tags vermeiden

Diese Regel markiert JSP-Tags, in denen einfache Anführungszeichen in einfachen Anführungszeichen bzw. doppelte Anführungszeichen in doppelten Anführungszeichen verschachtelt sind.

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

In diesem Beispiel enthält das Attribut test die Zeichenfolge ':', die in äußere einfache Anführungszeichen '<%=(link.indexOf(':') == -1)%>' eingeschlossen ist. Diese Regel würde dieses Beispiel markieren.

Es ist eine Schnellkorrektur für diese Regel im Quellenscanner verfügbar. Die Schnellkorrektur versieht die verschachtelten Anführungszeichen mit Escapezeichen. In dem Beispiel wird den Anführungszeichen, in die ':' eingeschlossen ist, ein Escapezeichen vorangestellt.

Beispiel 1 mit angewendeter Schnellkorrektur:
<c:if test="<%=(link.indexOf(\':\') == -1)%>" >

Die Verwendung verschachtelter Anführungszeichen im JSP-Tag kann zu einer Fehlernachricht wie der folgenden Beispielnachricht führen:

Fehlernachricht: JSPG0048E: Die Anweisung page konnte mit dem taglib-Validator für ... nicht validiert werden: org.xml.sax.SAXParseException: Attribute name "jsp:id" associated with an element type "c:if" must be followed by the " = " character.
Fehlerursache: com.ibm.ws.jsp.translator.JspTranslationException: JSPG0048E: Die Anweisung page konnte mit dem taglib-Validator für ...

Weitere Informationen finden Sie in den folgenden Dokumenten: