アプリケーションに複数のフィルターがあり、ルートに1つあります。
<filter>
<filter-name>root</filter-name>
<filter-class>
my.own.classpath.RootFilter
</filter-class>
</filter>
<filter>
<filter-name>root</filter-name>
<filter-class>
my.own.classpath.SubFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>root</filter-name>
<url-pattern>/</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sub</filter-name>
<url-pattern>/sub/*</url-pattern>
</filter-mapping>
Scalatra 2.0.0では、これは正常に機能しました。RootFilter
(extends )にURLのバインディングがある場合ScalatraFilter
はそれを処理し、そうでない場合は他のフィルターに渡されます。ただし、Scalatraの新しいバージョンでは、同じようには機能しません。で処理されるURLを指定するSubFilter
と、正しいフィルターが呼び出されますが、結果のテキストは表示されません。代わりに、空白のページ(HTMLなし)が返されます。
これはScalatraのバグですか、それとも何か間違ったことをしていますか?