私はいくつかの素晴らしい解決策を探しています。私のページにはいくつかのテキストフィールドがあり、jQuery serialize メソッドを使用して Ajax 経由でこれらを送信しています。このシリアル化された文字列は、キー = 'nameOfTextfield' nad 値 = 'valueInTextfield' でハッシュマップに私の Java メソッドで解析されます
たとえば、私はこの String stdSel=value1&stdNamText=value2&stdRevText=value3を取得しましたが、すべて正常に動作します。
String[] sForm = serializedForm.split("&");
Map<String, String> fForm = new HashMap<String, String>();
for (String part : sForm) {
String key = null;
String value = null;
try {
key = part.split("=")[0];
value = part.split("=",2)[1];
fForm.put(key, value);
//if textfield is empty
} catch(IndexOutOfBoundsException e) {
fForm.put(key, "");
}
}
ただし、このメソッドは、一部のテキストフィールドにアンパサンドが表示されると失敗します。たとえば、このstdSel=value1&stdNamText=value2&stdRevText=val&&ue3です。私の考えでは、シリアライズされた文字列のセパレーターとしてアンパサンドを他の文字またはそれ以上の文字に置き換えることを考えていました。それは可能で良い考えですか、それとももっと良い方法はありますか?
よろしくオンドレイ