-ユーザーリクエストsuffix

たとえば、/index_123.html とアクセスされるとします。

  1. これは、ページ名=「/index」、ユーザーリクエストsuffix=「123」、拡張子=「html」とバラします。
  2. ページ「/index」+Mayaファイルの拡張子、「maya」より、「/index.maya」を作り、ファイルを探します。
  3. ファイルがあれば、ページ設定としてパース。
  4. テンプレートは、ユーザーリクエストsuffixがあるので、/index_123.htmlを探しに行きます。無いとTemplateNotFoundException。

一方で、/index.htmlのとき。

  1. ページ名=「/index」、ユーザーリクエストsuffixはnull、拡張子=「html」
  2. 上記2)と同じ理屈で、/index.mayaを探し、見つかるとパース。
  3. ユーザーリクエストsuffixがnullなので、PageImpl#getTemplateSuffix(TemplateContext)へ。こっちで、TemplateFinderNodeを探し、見つかると式言語を実行してsuffixを決定します。TemplateFinderNodeがなければ、空白文字列を返します。
  4. サンプルでは、ロケールを見てるので、「ja」が返ったりするでしょう。
  5. /index_ja.htmlを探します。が、そんなファイルはサンプルにはありません。
  6. テンプレが見つからず、suffixが「ja」と空文字列ではないが、ユーザー強制suffixがnullのときには、suffixなしで同じ処理(つまりは/index.html)をもう一度やります。
  7. 結果として、/index.htmlが見つかり、表示がされる。。。という。