サーブレットAPIにremoveParameters()メソッドが存在しない理由はいつも不思議です。 このデザインの背景には何がありますか? ここにシナリオがあります:私は、私が使用することを強いられている独自のMVCフレームワークに挑戦しています。不確定要素 - HTTPパラメータ
doPost() {
//create instance of action - just like struts action
action.init
action.preexecution
if(redirection state is not set)
action.process
action.postprocess
action.finish
}
私はいかなる特定のアクションのプロセスをスキップすることができる唯一の方法は、リダイレクトURLを設定することにより、次のようになります。このフレームワークでは、POSTメソッドのITにアルゴリズムをホストコントローラサーブレットを使用しています。コントローラサーブレットはFINALです。さて、私がリクエストのディスパッチャを実行すると、アクションの実行前のメソッドから先に進むと、コントローラは残りのメソッドを実行し、残りはスキップしません。私はこの動作を変更することはできません、どちらも私はリダイレクトを設定することはできません、私は前進を行う必要があります。私は同じ動作にリクエストを転送していない限り正常に動作します。リクエストが同じアクションに転送されるとき、httpパラメータはすべて同じです。これは決して終わりのないループになります。したがって、私はそれが繰り返し要求であり、異なって扱われるべきであることを示す余分なパラメータを追加することを余儀なくされています。 私の問題が理にかなっているかどうかは分かりませんが、これを投稿するには良いフォーラムだと思いました。
removeParameterを選択したいケースが1つあります。時には私は、誤ってログに記録したり、後で公開したりしないように、パスワードパラメータを取り込み、ハッシュして、元のパスワードへの参照をただちに非表示にする/削除/破棄したいことがあります。私はそれをする方法を知らない。 –