JSPとサーブレットを使用してWebアプリケーションを開発しています。
私のJSPには、次のようないくつかの形式があります。
<form method="post" action="quotation">
<input type="submit" name="addStep" value="Add a Step" class="noLabel" />
</form>
フォームの「name」属性を使用して、サーブレットのdoPostメソッドでどのコードを呼び出す必要があるかを認識しています。
問題は次のとおりです。
- jspをWebサーバーにロードします
- フォームの[ステップを追加]ボタンをクリックします=>正しいコードが適用されます
- アドレスバーの「Enter」キーを押してWebページをリロードすると、同じコードが再度適用されます。これは、HttpリクエストでaddStep属性がリセットされていないためです。
この動作が発生しないようにするために、リクエストの属性(ここではaddStep)をリセットする方法を知っていますか?
doPostメソッドは次のとおりです。
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
request.setAttribute(DATABASE_ATT, databaseData);
this.getServletContext().getRequestDispatcher(VIEW)
.forward(request, response);
}