关于jsp的条件语句不起作用

时间:2016-07-13 17:27:21

标签: java jsp

我在<head>文件的.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放入浏览器控制台,我会得到正确的结果,但仍然无法使其正常工作。

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:3)

问题是在jsp执行完成后,脚本标记中的内容在浏览器上执行。您不能使用pageId服务器端,它在该上下文中不存在。

尝试

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