我的hashmap是:
HashMap h = new HashMap();
HashMap h2 = new HashMap();
List<HashMap> lh = new ArrayList<HashMap>();
HashMap ch;
lh = new ArrayList<HashMap>();
ch = new HashMap();
ch.put("op", "==");
ch.put("value", "20dd1");
lh.add(ch);
h2.put("lOCATION", lh);
lh = new ArrayList<HashMap>();
ch = new HashMap();
ch.put("op", ">=");
ch.put("value", "1239");
lh.add(ch);
ch = new HashMap();
ch.put("op", "<=");
ch.put("value", "1234");
lh.add(ch);
h2.put("invNO", lh);
lh = new ArrayList<HashMap>();
ch = new HashMap();
ch.put("op", ">=");
ch.put("value", "1239");
lh.add(ch);
ch = new HashMap();
ch.put("op", "<=");
ch.put("value", "1234");
lh.add(ch);
h2.put("IssDate", lh);
h.put("Invoice", h2);
我想验证这个hashmap(搜索jsp)有两个条件:
1)类型检查(int / double / float等) 2)范围检查就像入门发票号码。发票号码到
我的验证功能是:(工作)
1) Iterator iterator = typeCh.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry mapEntry = (Map.Entry) iterator.next();
String key = (String) mapEntry.getKey();
if (key.equals(field)) {
String type = (String) mapEntry.getValue();
if (type.equals("intValidator")) {
try {
sent.put(field, "OK: " + Integer.parseInt(value));
} catch (Exception e) {
sent.put(field, "must be 0-9");
}
} else if (type.equals("decimalValidator")) {
try {
sent.put(field, "OK: " + Double.parseDouble(value));
} catch (Exception e) {
sent.put(field, "must be double");
}
}
}
2) int from = Integer.parseInt(val.get(1));
int to = Integer.parseInt(val.get(2));
if (from > to) {
sent.put(field, "from must be less than to");
} else {
sent.put(field, "OK");
}
我想在春天创建这些类型的验证。
我该怎么做? 请帮助!!
答案 0 :(得分:0)
您可以在spring应用程序上下文中实现HashMap,并使用以下if (isset($this->request->get['limit']) && (int)$this->request->get['limit']) {
在IOC中共享。为此,首先在架构中包含util:map
(在spring配置文件中)。
xmlns:util
然后定义你的地图:
xmlns:util="http://www.springframework.org/schema/util"
然后在你的java源代码中:
<util:map id="typeCh"
key-type="java.Lang.String"
value-type="java.Lang.String"
map-class="java.util.HashMap">
</util:map>
填充地图一次并将其发送给具有验证逻辑的类。