<< 2006/10/27 | Home | 2006/10/29 >>
PR: 転職    転職    合宿免許    漫画    シルバー    ブライダルエステ    墓地・霊園    葬式   

Maven - A developer's Notebook

Struts2はMavenだし、ずっと逃げてきたけど、そろそろ観念する。Ebook Online Storeで$10で売ってたので、購入。

って、これCHMファイルじゃん。こんなのありなの? リファレンスがわりとして使うには良さそうだけど、通読には不向きだ。しおりも作れないし。

Struts2 でOGNL式のtypoがエラーにならない。

OGNLはスタティックフィールドにアクセスできるので、

public enum AgeRange {
    AGE_10, AGE10_19, AGE20_29;
}
public class EntryAction implements Action {
//...
    AgeRange ageRange;
    public AgeRange getAgeRange() {
        return ageRange;
    }
//...
}

みたいなことをして、JSPの中で、タイプセーフenumを参照できる。

        <s:if test="ageRange == @user.AgeRange@AGE_10">
          10歳未満
        </s:if>

ただ、これをAGE_100みたいにミスタイプした時に、何もエラーが出力されないので、間違いに気付きにくい。これは、XWorkの中で、例外をさらりと無視しているのが原因のようだ、

--- OgnlValueStack.java [findValue()] ---
        } catch (OgnlException e) {
            return findInContext(expr);
        } catch (Exception e) {

とりあえずパッチを提案してみた。

OGNL

Struts2で使われる式言語OGNL、なかなか便利なんで他でも使おうかと思って、単独で入手を試みる。

OPENSYMPHONY社に行ってみるも、ダウンロードリンクが死んでいるし、フォーラムやMLも閑散としている。で、どうも今はこっちみたいだ。なんかORGドメインだけど、Inc.って書いてあるし、開発者が独立して会社を立ち上げたんだろうか?

改めて見てみると、WebWork 2.1.7の時代から、ognl.jarの中のクラスは、パッケージ名がognl.*になっている。どうも完全にOPENSYMPHONY社の持ちものってわけでは無かったようだ。

関係ないけど、OPENSYMPHONY社の方には「OGNLは"orthogonal"と、読んでくれ。ただし最後の音節は、酔っぱらいのようにな」と書いてある。なんじゃそりゃ。

このサイトの掲載内容は私自身の見解であり、必ずしもIBMの立場、戦略、意見を代表するものではありません。
日本アイ・ビー・エム 花井 志生 Since 1997.6.8