S2Xwork

今公開されているS2Xworkは設定がいろんな所に分散していて何だか使いにくい気がする。
web.xml と app.dicon に手を入れないといけない。
webwork.properties の webwork.objectFactory に S2 の ObjectFactory を設定するだけで使いたい。

今のS2ObjectFactory に ObjectFactoryInitializable を追加して下記メソッドを追加してみた。
とりあえず、これで動くのは確認しました。(S2.4のHOT Deployも確認)
アノテーション系はまだまだです。
今日はここまで。


あ、SingletonS2ContainerInitializerがpublicじゃなかったので、そのままコピペで持ってきました。

public void init(ServletContext servletContext) {
  _logger.debug("S2ObjectFactory Initialize...");

  String configPath = Configuration.getString(S2Constants.S2_CONFIG_PATH);
  boolean autoRegist = "true".equals(Configuration
      .getString(S2Constants.S2_CONFIG_AUTOREGIST));
  
  _logger.debug("configPath :" + configPath);
  _logger.debug("autoRegist :" + autoRegist);

  SingletonS2ContainerInitializer initializer = new SingletonS2ContainerInitializer();
  initializer.setConfigPath(configPath);
  initializer.setApplication(servletContext);
  initializer.initialize();

  _container = SingletonS2ContainerFactory.getContainer();
}