初期処理でConditionBeanを初期化

http://d.hatena.ne.jp/kimpo/20080606#1212718476

を元に、BehabiorSelectorを利用して、CBを初期化・・・・
としたんだけど、


teedaがわけのわからないループをするようになった・・・
layout部分とか、Formとかが二個ずつ表示される。

<html xmlns:te="http://www.seasar.org/teeda/extension">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="../css/style.css" type="text/css"/>
</head>
<body>
<table border="0" width="100%">
<tr>
       <td>
               <te:include src="/layout/menu.html"/>
       </td>
</tr>
<tr>
       <td>
               <te:includeChildBody/>
       </td>
</tr>
</table>
</body></html>

こんなテンプレートが描画されると

<html xmlns:te="http://www.seasar.org/teeda/extension">
<head></head>
<body>
<table width="100%" border="0">
<tr>
       <td>
               <!--header-->
       </td>
</tr>
<tr>
       <td>
       <table width="100%" border="0">
       <tr>
               <td>
                       <!--header-->
                       <!--header-->
               </td>
       </tr>
       <tr>
               <td>
                       <!--ChildBody-->
                       <!--ChildBody-->
               </td>
       </tr>
       </table>
       </td>
</tr>
</table>
</body></html>

これは、dbflute関係なし。


というかね。きっとね、
TeedaConfigureListenerを利用したのに、
TeedaServletも使っているってのが原因な気がする。
なんか、二回ずつ描画されている現象と妙にマッチするんだよね・・・


んじゃまぁ、普通のListenerに・・・
って思ったけど、そりゃぁListenerの方がさきだもの。
TeedaServletの処理より先によばれちゃうじゃんか。
というわけで、エラーだしょ?


んだば、あれかい?Servletをやめて、Listenerで初期化にすりゃぁいいのかい?
とおもったけか、S2Axisってのがーこまるってなもんだ。
いやまぁつかってねーけっじょも、
こまるってーいわれちゃぁしょうがあんめぇ。
んだば、TeedaServlet拡張するべよ。

public class OrigServlet extends TeedaServlet {
       private static final long serialVersionUID = 1L;
       @Override
       public void init() {
           super.init();
           S2Container container = SingletonS2ContainerFactory.getContainer();
           BehaviorSelector behaviorSelector = (BehaviorSelector)container.getComponent(BehaviorSelector.class);
           behaviorSelector.initializeConditionBeanMetaData();
       }
}
   <servlet>
       <servlet-name>teedaServlet</servlet-name>
       <!--<servlet-class>org.seasar.teeda.core.webapp.TeedaServlet</servlet-class>-->
       <servlet-class>hoge.mokkouyou.games.common.OrigServlet</servlet-class>


はたして、この初期化の効果がどの程度なのかはわかりません。
というかおそらく私のアプリじゃぁ、たいして変わんないと思う。
安心をとるか、冒険するか?


といったところでしょうか。


ひとまず、動作と、layoutの二重描画ってのはぁ回避できたべな。