Unikaj zagnieżdżania cudzysłowów pojedynczych lub podwójnych w znacznikach JSP

Ta reguła oznacza znaczniki JSP, w których cudzysłowy pojedyncze zostały zagnieżdżone w cudzysłowach pojedynczych lub cudzysłowy podwójne zostały zagnieżdżone w cudzysłowach podwójnych.

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

W tym przykładzie test Atrybut zawiera sekwencję znaków ':' który jest zagnieżdżony w zewnętrznych apostrofach '<%=(link.indexOf(':') == -1)%>' . Ta reguła spowoduje oznaczenie tego przykładu.

Automatyczna poprawka usunie zagnieżdżone cudzysłowy. W przykładzie cudzysłów otaczający ':' są uszkadzone.

Przykład:
<c:if test="<%=(link.indexOf(\':\') == -1)%>" >

Obecność zagnieżdżonych cudzysłowów w znaczniku JSP może spowodować wyświetlenie komunikatu o błędzie podobnego do następującego przykładu:

Komunikat o błędzie: JSPG0048E: Nie powiodła się operacja sprawdzania poprawności strony przy użyciu analizatora poprawności taglib dla elementu... : org.xml.sax.SAXParseException: Po nazwie atrybutu "jsp:id" powiązanej z typem elementu "c:if" musi występować znak " = ".
Podstawowa przyczyna: com.ibm.ws.jsp.translator.JspTranslationException: JSPG0048E: Nie powiodła się operacja sprawdzania poprawności strony przy użyciu analizatora poprawności taglib dla elementu...

Dodatkowe informacje na ten temat: