[Seasar-user:5427] Re: MetaAutoRegister

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2006年 12月 11日 (月) 21:10:02 JST


米林です。

From: "Minoru Taki" <[E-MAIL ADDRESS DELETED]>
Sent: Monday, December 11, 2006 9:02 PM

> 瀧です。
>
>  お返事ありがとうございます。
>
> > MetaAutoRegister はそれ自体ではコンポーネントを
> > 登録するものではなく,登録されているコンポーネントに
> > メタ情報を付加します.
> > ですから,通常は ComponentAutoRegister と組み合わせて
> > 使用します.
>
>  実は、前にも同じことは試していましたができませんでした。
>  再度組み合わせてテストしましたが、以前と同じように
>  下記のような例外が発生しました。
> --
> javax.servlet.ServletException: Ajax Component Name[HogeAjax] is not public.
>  org.seasar.teeda.ajax.AjaxServlet.doAjax(AjaxServlet.java:91)
>  org.seasar.teeda.ajax.AjaxServlet.doGet(AjaxServlet.java:65)
>  javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>  javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilt
er.java:60)
> --
>
>  ここで言う、”is not public.”の状態が意味するものが良く分からないのですが。
>  MetaDefとして正しく登録されていないということでしょうか?

meta情報が取得出来ない場合の例外です。
つまりmeta情報が正しく登録されていないという事になります。
javascriptで呼び出す際のコンポーネント名と
S2に登録されている登録名があっているか確認して頂けますか?
呼び出す際に、おそらく"hogeAjax"にすると良さそうな気がします。

>  また、ModS2ContainerServletの登録コンポーネントとしては
>  表示されるようになりましたが、
>  instance属性が"singleton"であるのはteeda-ajaxを使う上で都合が悪いので、
>  "request"にすると、今度は上記の例外が"is not found."となります。
> #自分の設定の何かが根本的に間違っているのではないかと感じています。
>
>  何か、他に注意すべき点等ありましたら、ご教授願います。

instance属性は"request"で問題ありません。

---
米林 正明
[E-MAIL ADDRESS DELETED]




Seasar-user メーリングリストの案内