私の質問を読んでくれてありがとう。
質問: ストラットのインターセプターに元の URL が必要です。
例えば:
ブラウザーから、私が呼び出したとします... http://www.fakedomain.com/mycode/test.html
しかし、このURLは書き換えなしのURLです...
実際、Struts フレームワークはこれをhttp://www.fakedomain.com/CreateMyCode.actionに書き換えます。
で、シナリオは…
ブラウザからURLを発射したとき...
- まず、Strut のフィルターが画像に入ってきて、天気の URL の書き換えが必要かどうかを判断します。それが必要な場合
- ここでも、同じストラットのフィルターが別の URL への modifdies と呼ばれます。
- 最後に、ストラットのインターセプターが登場します。しかし今、URL を取得しようとすると... 変更された URL を取得しました。
しかし、元の URL が必要です (これは struts によって書き換えられるのではなく、実際にブラウザーから呼び出されるものです)。
どうすればこれを入手できますか?
私の試み:
urlrewrite フィルターの前にある新しいフィルターを 1 つ作成しました。そして、次のような属性を設定します...
HttpServletRequest httpReq = (HttpServletRequest) request;
String uri = httpReq.getRequestURI();
httpReq.setAttribute("URLBeforeRewrite", uri);
しかし、インターセプターで値を取得しようとすると...
req.getAttribute("URLBeforeRewrite")
私は変更されたURLを取得しました。
さて、どうすればこれを解決できますか???