在JSTL中超时后发送重定向

时间:2012-10-24 08:02:33

标签: jsp redirect jstl jsp-tags

我在JSP中使用这个脚本在5秒后通过超时执行重定向。

<script type="text/javascript">
    function redirect() {
        location.href = "registrazione.jsp";
    }
    window.setTimeout("redirect()", 5000);
</script>

我正在尝试删除网络应用程序中的任何脚本。有没有办法使用JSTL执行此操作,或者是否有可以下载并用于此的特定标记库?

1 个答案:

答案 0 :(得分:0)

您需要了解JSP / JSTL在Web服务器中运行,并且JavaScript在webbrowser中运行。

为了能够从Web服务器发送重定向,您需要获得HTTP响应。要获得HTTP响应,您必须检索HTTP请求。为了获得HTTP请求,客户端必须以某种方式发送它;点击链接,提交表单,更改浏览器地址栏中的网址,执行JavaScript window.location,执行JavaScript XMLHttpRequest等等。

换句话说,如果客户端没有以某种方式发送HTTP请求,则无法使用JSP / JSTL发送重定向。所以,这是故事的结尾。

您的JavaScript方法实际上是您实现具体功能要求的最佳方法。因此,我不理解你对它的厌恶,你需要用JSP / JSTL替换它。您确定不要将“JSP scriptlets ”与“JavaScript”混淆吗?前者确实是编写JSP的bad way,但绝对不是与JavaScript相同。