2016-07-13 4 views
3

У меня этот код в <head> файла .jsp.Условный оператор на jsp не работает

<script type="text/javascript"> 
    var pageId = "<c:out value="${pageData.contentId}" />"; 
</script> 

А потом у меня есть это:

<p> 
    <strong> 
     Some text here 

     <br> 

     <c:if test="${pageId == 'how-credit-affects-interest-rate' || pageId == 'taking-control-credit-score'}"> 
      Display text here if conditional is true. 
     </c:if> 

    </strong> 
</p> 

Я уже пробовал, делая это:

<c:if test="${pageId eq 'how-credit-affects-interest-rate' || pageId eq 'taking-control-credit-score'}"> 
    Display text here if conditional is true. 
</c:if> 

А также попытался с or вместо ||, если я ставлю pageId в браузере консоль, я получаю правильный результат, но все же я не работаю.

Почему это может произойти?

ответ

3

Проблема заключается в том, что материал в теге скрипта выполняется в браузере после завершения выполнения jsp. Вы не можете использовать серверную серверу pageId, она не существует в этом контексте.

Попробуйте

<c:if test="${pageData.contentId eq 'how-credit-affects-interest-rate' || pageData.contentId eq 'taking-control-credit-score'}"> 
+0

Итак, что может быть решением здесь? – NietzscheProgrammer

+0

Добавлен пример, чтобы попробовать – Taylor

Смежные вопросы