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