如何重新运行脚本?

时间:2018-10-17 04:06:36

标签: jsp login scriptlet

我尝试使用paramforward变量从start.jsp传递给a.jsp。然后a.jsp处理参数,并通过form action返回到start.jsp。因此,这就像一个运行循环。 但是a.jsp似乎没有重新运行处理scriptlet。

start.jsp

<c:choose>
    <c:when test="${id eq 'id'}">
        <c:if test="${pw eq 'pwd'}">
            <jsp:forward page="welcome.jsp"/>
        </c:if>
        <jsp:forward page="a.jsp">
            <jsp:param name="fail" value="password"/>
        </jsp:forward>
    </c:when>
    <c:otherwise>
        <jsp:forward page="a.jsp">
            <jsp:param name="fail" value="id"/>
        </jsp:forward>
    </c:otherwise>
</c:choose>

a.jsp

 <body>
    <%
    String failcode = request.getParameter("fail");
    if(failcode == null){
        out.println("<script>alert('get started');</script>");
    }
    if(failcode == "password"){
        out.println("<script>alert('password incorrect!');</script>");
    }
    if(failcode == "id"){
        out.println("<script>alert('id failure!');</script>");
    }
    %>
    <form action="start.jsp" method="post">
         .....
    </form>
 <body>

我认为a.jsp应该运行<script>,因为start.jsp给了他们不同的失败代码。我的代码出了什么问题?谢谢您耐心阅读。

0 个答案:

没有答案