2012-01-01 5 views
0

내가 가지고있는 다음과 같은 형식과 JSP (AddDocument.jsp) :새로 고침 JSP 후 제출

<form action=" ${pageContext.request.contextPath}/project?to=submitAdd&idProject=${param.idProject}" method="post" name="form"> 
    <div>Name:</div> 
    <input type="text" name="name" /><br /> <br /> 
    <input type="submit" value="Add document" /> 
</form> 

는 서블릿 다음을 수행 (ProjectManager)를 호출하여 제출 :

private void addDocumento(HttpServletRequest request, HttpServletResponse response) { 
    HttpSession session=request.getSession(); 
    // elaborating... 
    session.setAttribute("addingResult", "Document added"); 
    // or error if an exception is caught 
    redirect(request.getContextPath()+"/project?to=add&idProject="+idProject,request,response); 
} 

세션의 속성을 설정 한 후 동일한 페이지로 리디렉션됩니다. JSP의 속성은 사용자가 볼 수 있습니다.
제 문제는 브라우저가 새 페이지로 이동하고 기록이 증가한다고 생각하는 방식입니다 (예 : X.jsp에서 AddingDocument.jsp로 이동하여 폼에 잘못된 이름을 10 번 삽입하고 오류가있는 동일한 페이지, 나는 X.jsp에 도착하기 위해 10 번 뒤로 가야 할 것이다).
X.jsp에 도착하는 데 1 시간 밖에 돌아갈 수 없기 때문에 리디렉션 대신 JSP를 약간 새로 고쳐야하지만 요청 및 응답에 동일한 효과가 있습니다 (수동으로 새로 고치면 새로 제출할 필요가 없습니다). 그 페이지). 어떻게해야합니까?

답변

0

일반 양식 제출 대신 AJAX를 사용하는 것이 좋습니다. 브라우저 기록에 공헌하지 않는 것 외에도 대부분의 사용자가 현재 기대하는 "보다 나은"사용자 환경을 제공해야합니다.

관련 문제