0
我正在開發一個帶有JSP和servlet的Web應用程序。重新加載網頁再次調用代碼
在我的JSP中,我有幾種形式,比如下面
<form method="post" action="quotation">
<input type="submit" name="addStep" value="Add a Step" class="noLabel" />
</form>
我使用形式的「name」屬性在我的servlet的doPost方法來知道我應該調用哪個代碼。
的問題如下:
- 我載入我的jsp在我的Web服務器
- 我「添加了一步」按鈕,單擊我的形式被應用=>正確的代碼
- 如果我重裝按「輸入」的地址欄中的網頁,同樣的代碼被再次應用,因爲我想的是,addStep屬性不重置HTTP請求
你知道如何重置請求一個ttribut(這裏addStep)爲了防止這種行爲發生?
這裏是doPost方法:
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
request.setAttribute(DATABASE_ATT, databaseData);
this.getServletContext().getRequestDispatcher(VIEW)
.forward(request, response);
}
我明白你的意思,但我不能設法使它工作:(在我的servlet doPost方法,我對那一刻this.getServletContext()的getRequestDispatcher(VIEW)的.forward(請求,響應);我怎樣才能使用sendRedirect方法?我試圖設置相對HTML頁面與response.sendRedirect(「relativeHttpPage」)之前,但它不起作用 – facewindu
然後編輯你的問題,顯示你的代碼,和告訴我們它做了什麼 –
現在一切正常,我通過「sendRedirect」調用改變了「forward」調用,我認爲這是因爲我的doGet方法存在問題而無法工作。 – facewindu