struts 2はjsp:forwardの問題をブロックできません

939 ワード

最近プロジェクトをしているとき、indexページで直接jspのforwardを使ってactionにジャンプしたいのですが、どうしてもジャンプできず、リソースのエラーが見つかりません.ネット上では、forwardのpage属性の値を変更し、相対パスと絶対パスを使用してもジャンプできず、迷っている間に同じ問題に遭遇した文章を見つけました.クリックしてリンクを開きます. 
この兄弟たちのやり方に従って、私もやってみましたが、とても使いやすいことに気づきました.
仕事が終わってからこの問題を深く理解したいのですが、この私のStruts 2構成の問題だと思っていましたが、Struts構成を調べたところ、関連内容は言及されず、逆にservlet仕様で発見されました.
servlet 2.4仕様にはタグが組み込まれており、filterがどのリクエストをブロックするかを規定することができ、タグには4つの値を書くことができる:REQUEST、FOrWARD、INCLUDE、ERROR、それぞれ4つの異なるリクエスト方式に対応し、デフォルトはREQUESTである.
Struts 2でjspのforwardコマンドをブロックする場合は、Struts 2のfilterを構成するときにラベルを指定する必要があります.次のとおりです
<filter-mapping> 
   <filter-name>struts2</filter-name> 
   <url-pattern >/*</url-pattern> 
   <dispatcher>REQUEST</dispatcher> 
   <dispatcher>FORWARD</dispatcher>   
</filter-mapping>