0

私の質問を読んでくれてありがとう。

質問: ストラットのインターセプターに元の URL が必要です。

例えば:

ブラウザーから、私が呼び出したとします... http://www.fakedomain.com/mycode/test.html

しかし、このURLは書き換えなしのURLです...

実際、Struts フレームワークはこれをhttp://www.fakedomain.com/CreateMyCode.actionに書き換えます。

で、シナリオは…

ブラウザからURLを発射したとき...

  1. まず、Strut のフィルターが画像に入ってきて、天気の URL の書き換えが必要かどうかを判断します。それが必要な場合
  2. ここでも、同じストラットのフィルターが別の URL への modifdies と呼ばれます。
  3. 最後に、ストラットのインターセプターが登場します。しかし今、URL を取得しようとすると... 変更された URL を取得しました。

しかし、元の URL が必要です (これは struts によって書き換えられるのではなく、実際にブラウザーから呼び出されるものです)。

どうすればこれを入手できますか?

私の試み:

urlrewrite フィルターの前にある新しいフィルターを 1 つ作成しました。そして、次のような属性を設定します...

HttpServletRequest httpReq = (HttpServletRequest) request;
String uri = httpReq.getRequestURI();
httpReq.setAttribute("URLBeforeRewrite", uri);

しかし、インターセプターで値を取得しようとすると...

req.getAttribute("URLBeforeRewrite") 

私は変更されたURLを取得しました。

さて、どうすればこれを解決できますか???

4

0 に答える 0