読者です 読者をやめる 読者になる 読者になる

Ext.onReady()の中で要素を取得できない現象

既存のWebアプリケーションの一部にExt.jsのコンポーネントを使おうとしたときに発生した現象なのですが、以下のようにExt.onReady()でボディの中のdiv要素を取得しようとしたところnullになってしまいました。renderToとかでも同じです。

Ext.onReady(function(){
    var element = Ext.get('tree-div');
});

IEでのみ発生して、Firefoxでは発生しません。
サーバ側はStrutsだったのですが、とりあえずJSPファイルをWEB-INF配下においていることが何か影響しているらしく、JSPファイルを別の場所に移動すればOKでした。また、Ext.onReady()ではNGですが、windowのonload()ではOKでした。

Extのソースを追ってみれば原因がわかるかもしれませんが、とりあえずはJSPファイルを移動して逃げることにしました。

今回、実験的に試しただけなのでサーバでのJSONの生成はStruts+JSONICだったのですが、本格的にExtを使うとなったらサーバ側のフレームワークも見直したいです。JRuby on Railsも悪くないですが、現在S2Strutsを使っているので、T2も興味あります。