2014-04-23 27 views
8

Thymeleaf etiketinde "th: if" etiketinde html ile istek parametresi dizesi nasıl karşılaştırılır? Şu anda ben buThymeleaf - Thymeleaf etiketinde "th: if" etiketinde html ile istek parametresi dizesi nasıl karşılaştırılır?

<div class="error" th:if="${param.error == 'badCredentialsException'}" th:with="errorMsg=#{login.badCredentials}">      
    <p class="errorMsg"><span th:text="${errorMsg}"></span></p> 
</div> 

Ama hiç şans kullanıyorum , bu çalışmıyor. param.error dizeleri dizisi olduğu için

+0

Emin $ {param.error} doğru değeri vardır Are Web bağlam nesnenin

<div class="error" th:if="${param.error[0] == 'badCredentialsException'}" th:with="errorMsg=#{login.badCredentials}"> <p class="errorMsg"><span th:text="${errorMsg}"></span></p> </div> 
  • Kullanımını niteliklerini ? – geoand

  • cevap

    20

    İşe yaramıyor. Parametrenin ilk değerini almak için dizinin ilk elemanını (param.error[0]) almalısınız (bkz. documentation). Bunun yanı sıra, parametre çoklu değerlendiğinde ilk değeri döndüren Web context nesne yöntemi #httpServletRequest.getParameter aracılığıyla istek parametresine erişebilirsiniz (bkz. documentation). istek için Web bağlam ad alanlarının

    1. Kullanımı

      <div class="error" th:if="${#httpServletRequest.getParameter('error') == 'badCredentialsException'}" th:with="errorMsg=#{login.badCredentials}">      
          <p class="errorMsg"><span th:text="${errorMsg}"></span></p> 
      </div> 
      
    +0

    Teşekkür ederim. Bu mükemmel çalışıyor. – user3515080

    +3

    Bu konuyla ilgili önemli not: $ {param.error [0]}, SpelEvaluationException'ın böyle bir istek parametresi olmayacaksa, null değerine endekslenememesine neden olur. Bu, içeriğe bağlıdır, ancak daha önce $ {param.containsKey ('error')} isteyebilirsiniz. – Gondy

    İlgili konular