2015-02-25 19 views
5

Używam thymeleaf, w javascript używając th:inline="javascript", ale gdy dodamy logicznych warunków skryptu java thymeleaf thow wyjątek jak poniżej:Thymeleaf: Jak korzystać z operatorem logiczną w JavaScript używając Thymeleaf

org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 22; The entity name must immediately follow the '&' in the entity reference. 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203) 
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:177) 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:441) 
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368) 
com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1436) 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEntityReference(XMLDocumentFragmentScannerImpl.java:1845) 
............................. 

Poniżej jest moje kod javascript:

<script type="text/javascript" th:inline="javascript"> 
    $(document).ready(function(){ 
     $('.fancybox').fancybox({ 
      'width' :'623px', 
      'maxHeight':'156px' 
     }); 

     var catId = $("#category").val(); 
     if(catId != null && catId != ''){ 
      findSubCategories(); 
      /*<![CDATA[*/ 
       var subCatId = /*[[${searchProductDto.subCategory}]]*/ 
      /*]]>*/ 
      debugger; 
      if(subCatId != null){ 
       $("#subCategory").val(subCatId); 
      } 
     } 
    }); 
............................... 

jak używamy & operatora w thymeleaf?

Odpowiedz

18

Owiń jeśli blok z <![CDATA[ bloku

<script type="text/javascript" th:inline="javascript"> 
var a =b = true; 
/*<![CDATA[*/ 
if(a && b){ 
    alert('Yea'); 
}/*]]>*/ 
</script> 
+0

jak używamy '&' jeśli warunek, przeglądarka zgłasza błąd. –

+0

@HarmeetSinghTaara: zaktualizowałam mój ans ... daj mi znać, jeśli nadal masz problem –

+0

tak, to jest praca –

2

Użyj ochrony <!CDATA[ wokół całej zawartości znacznika script.

+0

to już jest zrobione przeze mnie. –

+0

@HarmeetSinghTaara Nie w kodzie, który wysłałeś; użyłeś tylko CDATA wokół zmiennej inline. – chrylis