Tapestryで長い間悩んでいたことが解決しました。
XMLファイルを読み込んでHTMLでリスト表示するプログラムを作っていましたが、どうしてもこんなエラーが出ていました。
> > ognl.OgnlException source is null for getProperty(null, "name")
Foreachコンポーネントを使ってこんな感じにHTMLを書いていました。
< span jwcid="@Foreach" source="ognl:articles" value="ognl:article" >
(以下繰り返したいHTML記述)
このページの定義ファイルはこんな感じ。
< page-specification class="example.bbs.Home" >
< property-specification name="articles" type="example.bbs.Article[]"/ >
< property-specification name="article" type="example. bbs.Article"/ >
< /page-specification >
結局やりたいことは複数の記事を配列に読み込んで表示したいんですが、これでずっと悩んでました。問題は配列に入れようとしたことで、ここをLinkedListにすると問題なく読むことができました。こちらのBlogを参考にさせていただきました。
一応Tapestryのリファレンスでは配列もOKって書いてあるんですが、私がやったときはだめでしたね。いまいちわかっていないだけかもしれませんが。TapestryのバグDBを調べたところ去年のバージョンでは配列と使うとエラーが出るバグがあったようですが今は修正されているというステータスになっていました。ひょっとしていまだにバグっているのかな。
Tapestryは動的にコードを生成するのでデバッグしにくいですね。Eclipseがないともはやコーディング不可能です。これからソフトウェアを作る人は開発ツールを使いこなすのが必須のスキルですね。私が新人のころはCコンパイラーだけで作ってたんですけどね。それはそれで大変ではあったんですが。