[Wicket-ja-user 456] Re: AutoCompleteTextFieldでエラー

アーカイブの一覧に戻る

エルコム 田中 tanak****@elcom*****
2010年 6月 16日 (水) 17:10:45 JST


田中です。

日本語でのオートコンプリートが解決したのでご報告致します。

(a)日本語を入力した時に無反応だったのは文字化けしたままstartsWithで比較していたため、対応する単語が空となってしまっていたようです。

input = new String(input_sjis.getBytes("ISO8859_1"), "UTF-8");

文字コードを変換したらちゃんとリストが表示されるようになりました。

(b) IE8で 『システム エラー: -1072896658』が出る件

WebApplicationの init()で

getRequestCycleSettings().setResponseRequestEncoding("Windows-31J");
getMarkupSettings().setDefaultMarkupEncoding("Windows-31J");

を入れるとこのエラーが出るようです。『Windows-31J』が正式名称として間違っている???

※HTMLファイルのcharsetは『Windows-31J』としています。

(c) IE8での 『wicket-autocomplete.js』 の「引数が無効です」のエラーは解決していません。


----- 以下日本語オートコンプリート解決ソースコード------------
AutoCompleteTextField widText_torihikisakiName = new
AutoCompleteTextField("widText_torihikisakiName", new
PropertyModel(seibansakuseiFormVo, "torihikisakiName")){
        	@Override
        	protected Iterator<String> getChoices(String input_sjis){
                if (Strings.isEmpty(input_sjis)) {
                    List<String> emptyList = Collections.emptyList();
                    return emptyList.iterator();
                }

                String input = "";
				try {
					input = new String(input_sjis.getBytes("ISO8859_1"), "UTF-8");
				} catch (UnsupportedEncodingException e) {
					// TODO 自動生成された catch ブロック
					e.printStackTrace();
				}

                List<String> choices = new ArrayList<String>(10);

                Locale[] locales = Locale.getAvailableLocales();

                for (final Locale locale : locales) {
                    final String country = locale.getDisplayCountry();

                    if (country.toUpperCase().startsWith(input.toUpperCase())) {
                        choices.add(country);
                        if (choices.size() == 10) {
                            break;
                        }
                    }
                }
                return choices.iterator();
            }
        };
        widForm_seibanShinkisakusei.add(widText_torihikisakiName);

-----------------------------------------------------------------------------------------------




Wicket-ja-user メーリングリストの案内
アーカイブの一覧に戻る