[Seasar-user:5775] Re: 【Chura】FacesContextFactory が見つからない&テーブル駆動開発が出来ない。

Yasuo Higa [E-MAIL ADDRESS DELETED]
2007年 1月 19日 (金) 11:24:46 JST


ひがです。

> ryotaです。
> Chura Projectを新規に作成し、Webアプリケーションを作成しようと思っています。
> 開発中に下記2つの現象が起こります。
> 解決策あればご教授願います。
> 
> ○開発環境
> Dolteng0.16.1
> Diigu1.0.0
> DbLancher0.0.2
> Teeda1.0.3
> uuji-1.0-beta-1-SNAPSHOT
> 
> ○1点目 javax.faces.context.FacesContextFactoryが見つからない例外
> それ以降、ページ駆動開発により、HTMLを作ってはPageクラスを作成しということを繰り返すと、あるとき(何をやったとかはなく)突然、html右クリック⇒Dolteng⇒View
> on Serverでページを開くと下記の例外が出るようになります。
> 
> java.lang.IllegalStateException: no factory

再現手順ですが、違うHTMLを使ってPageを作成という手順の繰り返しでしょうか。
> 
> デバッグで追って見ると、サーバ起動時には
> javax.faces.FactoryFinder.setFactory()が呼ばれて4つほどファクトリクラスがfactoryClassNamesプロパティに格納されるのですが、例外が発生しているときは、そのプロパティの中身を取り出すjavax.faces.FactoryFinder.getFactory()メソッドではfactoryClassNamesプロパティの中身が空で、その結果ファクトリクラスがないと怒られます。
> 
> 解決策あればご教授願います。
> 
この状態で、Tomcatを再起動するとどうなるでしょうか。

> ○2点目 テーブル駆動開発が出来ない。
> ChuraProjectの[Generate Scaffold
> Application]機能ですが、予め用意されているEMPテーブルをメンテナンスするアプリケーションは問題なく作成できるのですが、自作のテーブルをメンテナンスするアプリケーションを[Generate
> Scaffold Application]機能で作成すると、tablenameConfirmPage.javaとtablenameEditPage.javaの
> 
> Map data = getTablenameDao().find();
> 
> の箇所で下記のコンパイルエラーが出ます。
> 
> The method find(Integer) in the type GenericDao is not applicable for
> the arguments ()	TablenameEditPage.java	ChuraShopping/src/main/java/shopping/web/tablename	line
> 19	2007/01/17 5:58:27	123
> 
> tablenameテーブルの構成は
> id:int(4)
> name:text
> price:int(4)
> でcreateしました。
> 
現状のUujiは規約通りでないとうまく動きません。
XxxDaoならXxxがテーブル名である必要があります。

また、今のUujiはお試し版の位置付けなので、S2Dao版のプロジェクトを
使っていただいたほうが、確実です。
ご迷惑をおかけしますが、よろしくお願いします。

Yasuo Higa
The Seasar Project



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