我正在使用 Ajax 和 jsp 开发应用程序。
我的 index.jsp 页面有用于登录的 HTML 代码和一些 javascript 中的 Ajax 代码。Ajax 将调用我的另一个 CheckLogin.jsp 页面
CheckLogin.jsp 页面在服务器上检查有效的用户名和密码。如果有效则返回“成功”,否则将返回消息“用户名或密码无效”。
现在,当用户名和密码有效时,我想将页面重定向到“Home.jsp”而不是成功,我该怎么办?
我是jsp的新手。感谢您在这方面的帮助。
JSP 代码在到达客户端之前在服务器上运行一次,因此 JSP/JSTL 无法在 AJAX 调用成功或其他情况下进行重定向(没有完整的页面刷新 - 这避免了 AJAX 的使用)。您应该使用 Javascript 进行重定向:
if (success) {
var successUrl = "Home.jsp"; // might be a good idea to return this URL in the successful AJAX call
window.location.href = successUrl;
}
成功的 AJAX 调用/验证后,浏览器窗口将重新加载新的 URL(实际上是重定向)。
由于我没有看到您的代码,因此您可以将其集成到验证中的某个位置:
<%
pageContext.forward("logged.jsp");
%>
function Edit() {
var allVals = $('#NEWFORMCampaignID').val();
if (allVals > 0) {
window.location = '/SMS/PrepareSMS?id='+allVals;
}
else
alert("Invalid campaign to Edit")
}
为了使用 Button click 进行重定向并传递一些参数,您可以调用 Controller Path(@RequestMapping(value="/SMS/PrepareSMS")) 然后在那里处理它。