2016-07-13 4 views
3

.jspファイルの<head>にこのコードがあります。jspの条件文が機能しない

<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> 

そしてまた、私は、ブラウザでpageIdを入れた場合、代わりに||orで試してみました:

<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> 

私はすでにこれを実行してみました:

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

そして私は、これは持っていますコンソール、私は適切な結果を得るが、それでも私はそれを働かせない。

なぜこのようなことが起こりうるのですか?

答えて

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

関連する問題