您好我正在使用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;
}
答案 0 :(得分:1)
如果没有ajax(javascript),你就无法做到。标准请求/响应周期需要更改页面。
看看jQuery。您可以执行$.post("S2VServlet", {param:param})
,它将在后台执行。
答案 1 :(得分:0)
我认为你可以用doGet结束你的doPost方法。这样做会“重复”页面,但用户认为他/她没有移动。