リクエスト属性がどのように動作するかを理解したいです。セッションでいくつかの値を設定しましたが、これが多くの問題を引き起こしています。それらをすべてリクエスト属性に変換しています。
ビューメソッドでこのようなものを設定したアクションクラスがあります。
public ActionForward view(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
//...
request.setAttribute("abc", abc);
//...
}
タブをクリックしてページが表示されると、このビュー メソッドが呼び出されます。このページには、「エクスポート」という別のボタンがあります。export 呼び出しと同じアクション クラスを作成し、次のように exportExcel というメソッドを呼び出します。
public void exportExcel(ActionMapping mapping, ActionForm actionForm,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
if(request.getAttribute("abc")!=null){
String def = (String)request.getAttribute("abc");
}
}
リクエストパラメータを取得すると仮定します。うまくいきませんでした。また、セッションでこの変数を設定したくありません。この exportExcel メソッドでこのリクエスト属性を取得するための回避策はありますか?