JSP页面保持刷新

时间:2017-03-17 17:24:30

标签: javascript html jsp onload page-refresh

好的,所以一旦我导航到这个页面并加载我想将它重定向到'basket.jsp',但由于某种原因它只是一遍又一遍地刷新。这必须与我一遍又一遍地调用onload函数有关,但我不知道为什么会这样做。

我的代码:

<%
    String empty = request.getParameter("emptyBasket");
    if (empty!=null) {
        basket.clearBasket();
    }
    String item = request.getParameter("addItem");
    basket.addItem(item); %>

<html>
<head>
    <link rel="stylesheet" href="css/style.css" type="text/css"/>
</head>
<body>
<table>
<!-- some table stuff unimportant -->
</table>

<p> Order total = <%= basket.getTotalString()%>

<%
    if ( basket.getTotal() > 0) {
        %>
        <form action="order.jsp" method="post">
        <input type="text" name="name" size="20">
        <input type="submit" value="Place Order" />
        </form>

        <form action="basket.jsp" method="get">
        <input type="hidden" name="emptyBasket" value="yes">
        <input type="submit" value="Empty Basket" />
        </form>
        <%
    }
%>

<script>
    window.onload = function(){
        window.location.href = 'basket.jsp';

    }
</script>

</body>

</html>

2 个答案:

答案 0 :(得分:0)

如果是basket.getTotal()&gt; 0您要创建2个表单吗?然后你如何提交数据?以及......这段代码没有意义

(它基本上就像真的创建2个表格然后在你刷新的页面上你有这两个表格一个提交订单,一个提交到篮子

一般来说,在视图上拥有比html更多的java是不好的..但我认为这是atm的主要问题

form action =“basket.jsp”method =“get”&amp;&amp; window.location.href ='basket.jsp';

您正在将表单提交到该页面,然后您正在刷新它

我猜你要做的一些事情,但我可以完全离开。

你能解释一下这里的逻辑或流程是什么吗?

另外..我认为你不应该在html页面上接收你需要控制器的参数。

您应该将您的结构从index.html中的所有内容更改为..

项目

-src

- controller.java

-web

- index.html的

将表单中的数据从index.html提交到controller.java(controller.java可以是servlet)。在controller.java中实现doGet / doPost函数并收集数据。您甚至可以直接在该servlet中执行逻辑,并使用请求调度程序将数据发送回您的视图。

答案 1 :(得分:-1)

  1. <meta http-equiv="refresh" content="0; url=your url to another page" /> 但是W3C不鼓励使用meta进行重定向。

  2. <body onload=window.location='your url to another page'>