Hatena::ブログ(Diary)

ソフト開発お仕事メモ このページをアンテナに追加 RSSフィード

2012-02-07

[]firebug上で要素をクリックすると、対応するJavaソースを見ることのできるプラグインがあるらしい firebug上で要素をクリックすると、対応するJavaのソースを見ることのできるプラグインがあるらしいを含むブックマーク firebug上で要素をクリックすると、対応するJavaのソースを見ることのできるプラグインがあるらしいのブックマークコメント

はじめに

 firebug上で要素をクリックすると、対応するJavaソースを見ることのできるプラグインというのが、users@wicket.apache.orgで話題になってました。
 試してからメモしようかと思ったのですが、試す前に忘れそうなのでとりあえずメモ。

環境

情報源

2012-02-06

[]Oracleの型とJDBCの型のマッピング情報のメモ Oracleの型とJDBCの型のマッピング情報のメモを含むブックマーク Oracleの型とJDBCの型のマッピング情報のメモのブックマークコメント

はじめに

 たまにOracleの型とJDBCの型のマッピング情報をたまに探すのでメモ。

環境

  • Oracle 11g R2

URL

2012-01-22

[]Wicket1.5のValidatorの上位クラスがBehaviorになっているのだけど真意がわかんない Wicket1.5のValidatorの上位クラスがBehaviorになっているのだけど真意がわかんないを含むブックマーク Wicket1.5のValidatorの上位クラスがBehaviorになっているのだけど真意がわかんないのブックマークコメント

はじめに

 Wicket1.5で行われた変更について、私には真意が分からないものがいくつかあります。
 その一つが、Validatorの上位クラスがBehaviorになっていることです。

環境

Validatorの上位クラスがBehaviorになっている?

 以下のページを読みますと、「All standard validators now extend Behavior to allow for client side validations」という変更が存在しています。


 日本語にすると「すべての標準のバリデータは、クライアント側バリデーションを可能にするために、Behaviorを継承する」といった感じでしょうか。

 でも、です。
 別にValidatorを見てもクライアント側バリデーションをサポートするコードが埋まっているようには見えないのです。
 クライアント側バリデーションをするコードは、自分で書けと言うことなのでしょうか。

 ちなみ自分で書くのだと想定して書いてみると、以下のような感じ。
 実際は、Validatorは匿名クラスにせずに使い回すのだと思います。

public class HomePage extends WebPage {
    private static final long serialVersionUID = 1L;

    public HomePage(final PageParameters parameters) {
        Model<String> model = new Model<String>();
        Form<Void> form = new Form<Void>("form");
        final TextField<String> textField = new TextField<String>("text", model);
        textField.setOutputMarkupId(true);

        textField.add(new RangeValidator<Integer>(1,3){
            private static final long serialVersionUID = 1L;

            @Override
            public void onComponentTag(final Component component, final ComponentTag tag)
            {
                StringBuilder sb = new StringBuilder();
                String textFieldID = textField.getMarkupId();
                sb.append("var value = document.getElementById('" + textFieldID + "').value;");
                sb.append("if(isNaN(value) || value <" + this.getMinimum().toString()+ "|| value> " + this.getMaximum() + "){alert('error');}");
                tag.getAttributes().put("onblur", sb.toString());
            }
        });
        form.add(textField);
        add(form);
    }
}

さいごに

 開発者のblogを見たら載っているのではないかという気もするのですが、Wicket開発者の役割分担とか、そもそもコアな開発者は誰なのかとかが分かっていないので、現実的な時間で調べるのが辛いという…。