[Wicket-ja-user 309] Re: wicket:linkで特定のファイル名において謎のonclickが書き込まれる現象について

Back to archive index

Susumu ISHIGAMI susum****@gmail*****
2009年 3月 1日 (日) 10:07:03 JST


沖野さん
ご返信ありがとうございます。

Localeクラスにそんな仕様があったなんて知りませんでした。
ja, enならいいのに、何でidだけなのかと思ったのですが、
そういうわけだったのですね。

デザイナーさんに依頼するときは、
どの文字列が言語コードか、判別しにくいと思われますので、
いっそ、「"_"は使うな」くらいのルールにしてもよさそうかなと思いました。(笑)

わざわざ調べていただいて、どうもありがとうございました。

On Sat, 28 Feb 2009 18:00:36 +0900
shinya okino <shiny****@gmail*****> wrote:

> 沖野です。
> 調べてみました。
> 
> まず、autolinkでは対応するリソースが見つからなかった場合は外部リンクと判断して
> onclick属性を付加します。
> 
> Wicketではリソース名に'_言語コード'が付いている場合は
> その言語コードと言語コードなしとセッションの言語コードでリソースを探します。
> 
> 'id'はインドネシア語なのでlogin_txt_id.gif > login_txt.gif > login_txt_ja.gif
> のように探されるはずなのですが、
> JavaのLocaleクラスはインドネシア語の言語コード'id'を内部で古い言語コード'in'で扱うために
> Wicketはリソースをlogin_txt_in.gif > login_txt.gif > login_txt_ja.gifのように探してしまいます。
> 結果としてリソースが見つからないのでonclick属性を付加したimgタグが出力されます。
> 
> JDK1.6のソースでは他には'he'を'iw'に'yi'を'ji'にするようにコーディングされていました。
> 
> ちなみにwicket1.3.4以前だと言語コードの判定をLocaleクラスに任せていないのでファイル名に_idをつけても
> うまく動作します。
> 
> 意図しない動作を防ぐためにもwicketでは国際化する時以外にリソース名に
> 言語コードと判定されるような文字は付けない方が良さそうです。
> 
> 2009/02/27 14:45 Susumu ISHIGAMI <susum****@gmail*****>:
> > いつもお世話になっております。
> > 石上です。
> >
> > <wicket:link>において、謎の現象に当たってしまいました。
> >
> > マークアップファイルに
> > <img src="images/login_txt_id.gif" alt="ログインID" width="93" height="15" />
> > と記述されたイメージが、実行時には
> > <img src="images/login_txt_id.gif" alt="ログインID" width="93" height="15"
> > onclick="window.location.href='images/login_txt_id.gif';return
> > false;"/>
> > のようにおかしなonclickが追加されてしまいます。
> > src要素が書き換わっていないので、当然画像が表示されません。
> >
> > 別の画像、例えば
> > <img src="images/login_txt_pw.gif" alt="パスワード" width="90" height="15" />
> > なら、
> > <img src="resources/com.ebisumart.admin.AdminLoginPanel/images/login_txt_pw.gif"
> > alt="パスワード" width="90" height="15"/>
> > のようになって正しく画像が表示されています。
> >
> > ファイル名が_idなのが原因と思い、いくつか試してみたところ、下記のような結果になりました。
> > images/login_txt_cd.gif ............OK
> > images/login_txt_ja.gif ............OK
> > images/login_txt_en.gif ............OK
> > images/login_txt_iid.gif ...........OK
> > images/login_id_.gif ............OK
> > images/loginid.gif ............OK
> > images/login_txt_id.gif .............NG
> > images/login_txt_ID.gif .............NG
> > images/login_txt__id.gif ...........NG
> > images/login_id.gif ................NG
> >
> > "_id"で終わっている時だけうまくいかないということでは釈然としません。
> > そういう仕様だと、どこかに載っているのでしょうか?
> >
> > 以下の情報が関係ありそうですが、原因まではわかりませんでした。
> > http://www.nabble.com/extra-'onclick'-is-generated-for-an-image-wrapped-by-a-link-td20980894.html
> >
> > Wicketのバージョンは1.3.5を使用していますが、1.4rc2でも同様の現象を確認しました。
> >
> > どなたかこの問題に詳しい方がいらっしゃいませんでしょうか?
> >
> > また、上の方で、<wicket:link>を使用していると書きましたが、実は、
> > getMarkupSettings().setAutomaticLinking(true);
> > をセットして常にautolinkで使っています。
> > この設定項目を使用することによって、なにか弊害はあるのでしょうか。
> > 基本的な質問かもしれませんが、どうぞよろしくお願いいたします。
> >
> > いつも教えていただいてばかりで恐縮ですが、
> > お力を貸していただければ幸いです。
> >
> > _______________________________________________
> > Wicket-ja-user mailing list
> > Wicke****@lists*****
> > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user
> >
> 
> 
> 
> -- 
> 沖野信也
> shiny****@gmail*****
> 
> _______________________________________________
> Wicket-ja-user mailing list
> Wicke****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user


-- 
Susumu ISHIGAMI <susum****@gmail*****>




Wicket-ja-user メーリングリストの案内
Back to archive index