要使用doPost,请保持同一页面

时间:2011-02-21 18:43:13

标签: html jsp servlets

您好我正在使用JSP和servlet开发基于Web的应用程序。我有一个页面,里面有一个按钮。当单击按钮时,我已经编写了一些javascript来弹出一个小窗口,并且它还会调用doPost方法。代码是这样的 -

]
"<form name='downloadFrm1' method='post' action='S2VServlet' 
..  ..
"<input name='submitBtn' type='submit'  value='Download Files With Warnings' onClick="+popup+">\n"+

"</form><BR></div><p><BR></p> \n";

但是,我只调用doPost方法来完成一些内部工作。我不希望父页面被重定向到任何地方。但是发生的事情是当我点击按钮时会出现一个小弹出窗口,但父页面也会移动到一个空白页面。如何让父页保持原样并且不被重定向? doPost的代码类似于 -

    public void doPost(HttpServletRequest p_req, HttpServletResponse p_res) throws IOException, ServletException {
        try {
            String downloadKey = p_req.getParameter(DOWNLOAD_KEY_ELEMENT);
            ....
            if (//put my condition)) {
//just set some internal value and return
                ....
                return;
            }

2 个答案:

答案 0 :(得分:1)

如果没有ajax(javascript),你就无法做到。标准请求/响应周期需要更改页面。

看看jQuery。您可以执行$.post("S2VServlet", {param:param}),它将在后台执行。

答案 1 :(得分:0)

我认为你可以用doGet结束你的doPost方法。这样做会“重复”页面,但用户认为他/她没有移动。