У меня есть форма, если таймер достигнет формы, она автоматически перенаправит сервлет для обновления базы данных.Моя проблема сейчас в том, что если javascript перенаправляет окно на сервлет, мой request.getParameter имеет значение null.
function verify(f,whichCase){
if(whichCase == "Submit"){
msg = "Are you sure that you want to submit this test?";
var i = confirm(msg)
if(i){
parent.window.location = "sindex.jsp"
}
return i;
}
}
Я делаю это, потому что у меня есть iframe в моем jsp.Проблема обновления таймера должна использовать iframe.Таким образом, когда время истекло или пользователь нажимает на кнопку parent parent.window.location может позволить мне обновить родительское окно
<form method="POST" action="${pageContext.request.contextPath}/TestServlet" onSubmit="return verify(this,whichPressed)">
Моя форма, когда пользователь нажимает кнопку подтверждения в течение определенного времени, запускает функцию проверки, чтобы позволить пользователю подтвердитьОтправить.Так что внутри моего TestServlet я получил это, потому что с помощью javascript redirect request.getParameter ("answer") это keep возвращает меня пустым.
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
if (request.getParameter("Submit") != null) {
String ans = request.getParameter("answer");
Answer a = new Answer(ans, no);
aa.CreateAnswer(an,t.getTestCode(),username);
RequestDispatcher rd = request.getRequestDispatcher("/sindex.jsp");
rd.forward(request, response);
}
}
Ниже приведен мой таймер, когда время перенаправления на TestServlet вызывает метод doGet
if((mins == 0) && (secs == 0)) {
window.alert("Time is up. Press OK to submit the test."); // change timeout message as required
var sUrl = "TestServlet";
parent.window.location = sUrl // redirects to specified page once timer ends and ok button is pressed
} else {
cd = setTimeout("redo()",1000);
}