5.0.7
昨年末にTapestry-5.0.7がリリースされました。以下は私が5.0.6からアップグレードした際に問題となった点です。
tapestry-uploadが壊れてます
MLのこの投稿で指摘されてるように、ファイルをアップロードしようとするとNullPointerExceptionが発生してしまいます。この投稿にあるように、springのCharacterEncodingFilterを使うと回避できます。
追記: Utf8Filterを、RequestFilterを実装するかわりにHttpServletRequestFilterを実装して、MultipartFilterの前に入れてやるのが正解っぽい。あとで詳しく書く。
→書いた: http://d.hatena.ne.jp/butyricacid/20080313/1205387948
レスポンスに404とか返したいとき(解決)のコードが動かなくなってます
ComponentEventResultProcessorのメソッドprocessComponentEventのシグネチャが変更されたためで、以下のようにしました。
- ErrorResponseクラスは以前のと同じです。
- ErrorResponseResultProcessorは別クラスにわけずにAppModule内で定義しています。
// AppModule.java public ComponentEventResultProcessor buildErrorResponseResultProcessor(final Response response) { return new ComponentEventResultProcessor<ErrorResponse>() { public void processComponentEvent( ErrorResponse errorResponse, Component component, String methodDescripion) throws IOException { response.sendError(errorResponse.getStatusCode(), errorResponse.getMessage()); } }; } public void contributeComponentEventResultProcessor( @InjectService("ErrorResponseResultProcessor") ComponentEventResultProcessor errorResponseResultProcessor, MappedConfiguration<Class, ComponentEventResultProcessor> configuration) { configuration.add(ErrorResponse.class, errorResponseResultProcessor); }
あと、http://d.hatena.ne.jp/butyricacid/20071219/1198035790 のパッチは5.0.8には入りますが5.0.7には入ってないので、5.0.7に当てたのを置いておきます。5.0.7で Page Activation Context や Component Context に日本語や / などを使いたい人はどうぞ。