[Seasar-user:8449] Re: [S2] XIncludeできません
松崎 学
[E-MAIL ADDRESS DELETED]
2007年 6月 19日 (火) 09:00:23 JST
小林さん
松崎です。お世話になります。
> それは不思議ですね.
> XInclude されていないというのはどのように判断してますか?
> 例外の発生状況などはどうなったのでしょうか?
XIncludeにすると[Seasar-user:8444]の例外が画面に表示されて、
画面が全く動きません。。。
「500 Internal Server Error」の状態です。
> ビルドによって WEB-INF/classes の下に
> META-INF/services/javax.xml.parsers.SAXParserFactory
> があるはずですが,存在しているでしょうか?
SAXParserFactoryは存在しています。
> Validator「に」allValidatorLabels「を」DI
> したいのでしょうか?
前者です。
setAllValidatorLabels(Map)のメソッドはあるのですが、
DIしてくれないのです。。。
他に考えられる原因はありませんでしょうか?
以上、よろしくお願い致します。
On Mon, 18 Jun 2007 23:30:34 +0900
Koichi Kobayashi <[E-MAIL ADDRESS DELETED]> wrote:
> 小林 (koichik) です.
>
> Date: Mon, 18 Jun 2007 22:45:34 +0900
> From: 松崎 学 <[E-MAIL ADDRESS DELETED]>
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:8446] Re: [S2] XIncludeできません
>
> > xercesImpl-2.6.2.jarを配置して、javax.xml.parsers.SAXParserFactoryを
> > 作成しても結果は同じでした。
>
> それは不思議ですね.
> XInclude されていないというのはどのように判断してますか?
> 例外の発生状況などはどうなったのでしょうか?
>
> ビルドによって WEB-INF/classes の下に
> META-INF/services/javax.xml.parsers.SAXParserFactory
> があるはずですが,存在しているでしょうか?
>
> > Java5を使っているので、Xercesは不要なのではと思って外してみました。
> > Xerces2.6.2に強く依存するのであれば、
> > TeedaではXIncludeは使えないのでしょうか?
>
> Teeda は Xerces2.6.2 を直接使いますが,S2 は JAXP を
> 通して XML パーザを使用します.
> JAXP が使用するパーザは
> META-INF/services/javax.xml.parsers.SAXParserFactory
> で変更することができます.
> http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/xml/parsers/SAXParserFactory.html#newInstance()
>
> これによって,JAXP では Xerces 2.6.2 ではなく,Java5 に
> バンドルされている XInclude 対応の Xerces が使われるように
> なります.
> # S2 と Teeda では異なるパーザを使うことになります.
>
>
> で,元のメール [Seasar-user:8444] を見直してみたのですが,
>
> > > ・app.dicon
> > > <xi:include href="/convention.dicon"/>
> > > <xi:include href="/aop.dicon"/>
> > > <xi:include href="/app_aop.dicon"/>
> > > <xi:include href="/teedaExtension.dicon"/>
> > > <xi:include href="/dao.dicon"/>
> > > <xi:include href="/dxo.dicon"/>
> > > <xi:include href="/dbsession.dicon"/>
>
> これらは XInclude にする必要はないですね.
>
> > > <!-- ■■■■ ValidatorにDIしたいコンポーネント ■■■■ -->
> > > <xi:include href="/hoge/allValidatorLabels.dicon"/>
>
> Validator「に」allValidatorLabels「を」DI
> したいのでしょうか?
> あるいは,
> Validator「を」allValidatorLabels「に」DI
> したいのでしょうか?
>
> 前者なら XInclude ではなく,<include> で構いません.
> 後者なら allValidatorLabels.dicon は XInclude にする
> 必要があります.
> おそらく前者だと思うので,XInclude は必要ないのでは
> ないかと思います.
>
> っていうか,allValidatorLabels は HashMap ですか...
> Map は型による自動バインディングの対象ではないので,
> Validator に allValidatorLabels を DI するなら,
> Validator は正確に setAllValidatorLabels(Map) という
> 名前のメソッドを持つ必要があります.
> 微妙に違っていたりすると DI されないのでメソッド名と
> コンポーネント名をチェックしてみてください.
>
>
> --
> <component name="koichik">
> <property name="fullName">"Koichi Kobayashi"</property>
> <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
> <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
> </component>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
Seasar-user メーリングリストの案内