我正在寻找一些不错的解决方案。我的页面上有几个文本字段,我使用 jQuery 序列化方法通过 Ajax 发送这些文本字段。这个序列化的字符串在我的 java 方法中解析为带有 key = 'nameOfTextfield' nad value = 'valueInTextfield' 的 hashmap
例如,我有这个 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。我的想法是,我将在序列化字符串中替换&符号作为分隔符,用于某些其他字符或更多字符。这是可能的好主意还是有更好的方法?
问候 Ondrej