jsp - 如何重新运行 scriptlet?
问题描述
我尝试将param
变量从 start.jsp 传递给 a.jsp,使用forward
. 然后 a.jsp 处理参数并返回 start.jsp by form action
。所以它就像一个运行循环。但是 a.jsp 似乎没有重新运行处理 scriptlet。
启动.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>
一个.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 运行给他们不同的失败代码。我的代码出了什么问题?感谢您的耐心阅读本文。
解决方案
推荐阅读
- laravel - 完成重写后,我应该重新启动版本号还是应该继续?
- api - 使用蓝牙添加我自己的文件或将文件重写到蓝牙连接的 cnc
- .net-core - 如何为 FastReport.Web 中的元素设置字体以便应用于 pdf 导出?
- sql - SQL Server:在左连接查询的执行计划中插入隐藏的“排序”
- mysql - 我们如何使用 GROUP BY 加入结果
- javascript - 为什么我在 React 应用程序的 HTML 输出中看到传递的道具?
- typescript - 如何在打字稿中使用 localStorage?
- css - Safari 位置的解决方法:粘性 (-webkit-sticky) 错误
- asp.net-mvc - 在 MVC 中为一个视图使用两种模型,一种用于获取数据,另一种用于向控制器发送数据
- json - Json解析没有得到第二个花括号内的值