2008年2月28日木曜日

Tomcat5の環境別設定 server.xml に独自のパラメータを書く



サーブレットエンジンごとに設定するために server.xml にパラメータを記述してみました。


テスト環境と、本番環境などでデバック用の仕様を切り替えたりするのが


スムーズになるためです。


アプリケーションごとの WEB-INF/web.xml には、環境の違いによるパラメータを


書くとデプロイ時になにかと面倒なのでそうしました。


server.xml




<Host ...>
<Context ...>

<Parameter name="TEST_DEBUG" value="1" override="false"/>

</Context>
</Host>



ServerContext.getInitParameter("TEST_DEBUG");


で、アプリケーション側から取得できます。


Velocity なら $application.getInitParameter("TEST_DEBUG")


意外とこういったあってもなくても良い、パラメータの説明が少なく


探していて苦労しました。


必須の項目の説明は山ほどあるんですけどね。


レシピ的なもんが少ないのでなんども自分で試して




<Context ...>
<parameter>
<name>TEST_DEBUG</name>
<value>1</value>
</parameter>
</Context>



こんなことして撃沈してました。


まぁ、とりあえずできたので参考まで。





2008年2月14日木曜日

IEで、preタグにinnerHTMLで改行を入れると無視される



HTMLのタグに、記述したままを表示する pre タグがあります。



<pre>
ほげほげ
どもども
こんにちわ
</pre>


br を使わなくても、改行して表示してくれます。


しかし、IEで動的にJavascriptで pre タグにテキストを書き込むと


自動的に改行コードを半角スペースに変換するらしく


思ったとおりに表示できません。


FireFoxやOperaだとそんなことはないようです。


詳しくはこちら


http://d.hatena.ne.jp/brazil/20060917/1158465641


IE用に別に処理を書くしかなさそうです。



// jQuery.js を使用

var doc = "ほげほげ(改行)どもども(改行)こんにちわ(改行)";

if($.browser.msie){
doc = doc.replace(/\x0D\x0A|\x0D|\x0A/g,'\n\r');
$("pre").text(doc);
}else{
$("pre").text(doc);
}

---------------------------------------------------------------
<pre></pre>



IEの場合だけ、改行コードを置換したらうまくいきました。


この手のIE対応は、本当に自分じゃ解決しきれない


難しい現象が多いので、ネットで解法を公開なさってくれている方に


感謝いたします。





2008年2月6日水曜日

Senna クエリー



全文検索 FullText MySQL + Senna = Tritton を利用したときのメモ


http://qwik.jp/tritonn/


SQLのレシピが少ないので、自分で試したものを記述する。


条件を複数指定する場合は、*X*Y*Z とくっつけて記述すればよいことは


どこにも書いてなかった(見つけれませんでした。)が


試してみたらOKだったのでメモっておく。


キーワード「ほげほげ」を


検索カラム a の中から 完全一致 で見つける場合



select
*
from
table_name
where
match(a,b,c) against('*W1*E-1 ほげほげ' IN BOOLEAN MODE)

// *W1 検索カラム a
// *E-1 完全一致






Senna のクエリーの詳細は、http://qwik.jp/senna/query.html