在c:if中使用scriptlet变量

时间:2019-10-31 20:16:39

标签: jsp jstl scriptlet

在JSP页面中,我有以下代码:

<%! int pageState=-1; %>
<% pageState++; %>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Home</title>
    </head>
    <body>

        <c:if test="${pageState==0}">
            <form action="homepage.jsp" method="post">
            <fieldset>
                <label>Choose Login Type:</label>
                <input type="radio" name="loginType" value="teacher"><br>
                <input type="radio" name="loginType" value="student"><br>
                <input type="submit" value="submit">
            </fieldset>
            </form>
        </c:if>

我想使用scriptlet变量“ pageState”来确定用户是选择登录类型还是已经选择登录类型(如果0或大于0)。但是c:if语句无法正确评估变量(因此无法显示表单)。我知道pageState具有正确的值,并且c:if可以正常工作(因此导入库不是问题)。

我想知道为什么它们不起作用以及如何解决它们。如果可能的话,我想直接在c:if中使用scriptlet变量,而不使用pageContext(或任何其他上下文)或c:set。

0 个答案:

没有答案