[Seasar-user:10659] 【s2jsf】Content-Typeの指定方法の問題
鈴木 順
[E-MAIL ADDRESS DELETED]
2007年 9月 21日 (金) 06:32:22 JST
お世話になっております。鈴木です。
s2jsf1.1.1で開発をしおり、問題にあたりましたので相談させて下さい。
org.seasar.jsf.processor.ViewProcessorが各htmlファイル毎に生成され、
それぞれのcontentTypeをmetaから取得し、値の管理を行っていると思いますが、
html継承によるlayout機能使用時の仕様を確認させてください。
添付のように子供のhtmlファイルはbody内の実際のコンテンツのみ定義してある
状態です。
baseLayoutが親のhtmlです。
私が確認したところ親に
<meta http-equiv="Content-Type" content="text/html; charset=Windows-31j" />
がありましても、子供のhtmlに対応する
org.seasar.jsf.processor.ViewProcessorは
親の値を取らずに子供に指定されている
<meta http-equiv="Content-Type" content="XXXX" />
を読むようになっていると思われます。
(私の場合は指定が無いのでnullになります)
生成されたhtml的には、親のheadの内容になっております。
なにが問題になっているかと言いますと、
6.0.2.21で
org.seasar.jsf.runtime.ViewRendererImpl
の
renderView内の
response.setContentType(viewProcessor.getContentType());
の部分で、setContentTypeの引数がnullで呼ばれると
nullpoが起きてしまいます。
(IBMにバグではないかと言う問い合わせをしておりますが、
FIXを当てるのも厳しい状況です)
とりあえず回避は全てのhtmlに
<meta http-equiv="Content-Type" content="XXXX" />
を記述することでなんとかなりますが、
回避できる方法などありましたらお教えください。
私的には
response.setContentType(viewProcessor.getContentType());
にnullチェックを入れると言うのではなく、
response.setContentType(viewProcessor.getContentType());
が呼ばれること自体重要なはずなので、
親のhtmlの内容を参照していただけるか、
どこか一箇所に宣言できたりすると嬉しいと感じます。
環境は
s2jsf1.1.1
s2-2.4.16
teeda1.0.7
以上 宜しくお願いいたします。
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20070921/8fb0a056/attachment.html
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20070921/8fb0a056/attachment-0001.html
Seasar-user メーリングリストの案内