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 atrybut test zawiera sekwencję znaków ':', która jest zagnieżdżona w zewnętrznych cudzysłowach pojedynczych '<%=(link.indexOf(':') == -1)%>'. Ta reguła oznaczyłaby ten przykład.
Szybka poprawka dla tej reguły jest dostępna w skanerze źródła. Szybka poprawka zmienia znaczenie zagnieżdżonych cudzysłowów. W przypadku tego przykładu zmienione zostałoby znaczenie cudzysłowów otaczających sekwencję znaków ':'.
Przykład 1 po zastosowaniu szybkiej poprawki:| <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: