Java Spring Webflow属性映射不';当值为null时,不应用默认值或检查类
关于SpringWebflow2.4.1.1版本 for包含(字符串attributeName,类requiredType)状态: “此映射中是否存在具有提供名称的属性,并且其值是否为指定的必需类型?” 但是,如果键存在但值为null,则认为这是可接受的,并且不会引发IllegalArgumentException 类似地,get的JavaDoc(字符串attributeName,V defaultValue)表示 获取属性值,如果找不到值,则返回默认值 但是,如果键存在但值为null,则不使用默认值 这是以前作为一项建议提出的 这可以用eg测试Java Spring Webflow属性映射不';当值为null时,不应用默认值或检查类,java,spring-webflow,Java,Spring Webflow,关于SpringWebflow2.4.1.1版本 for包含(字符串attributeName,类requiredType)状态: “此映射中是否存在具有提供名称的属性,并且其值是否为指定的必需类型?” 但是,如果键存在但值为null,则认为这是可接受的,并且不会引发IllegalArgumentException 类似地,get的JavaDoc(字符串attributeName,V defaultValue)表示 获取属性值,如果找不到值,则返回默认值 但是,如果键存在但值为null,则不使用
MutableAttributeMap<Object> flowScope = new LocalAttributeMap<Object>();
flowScope.put("key", null);
assertFalse(flowScope.contains("key", Boolean.class));
assertTrue((boolean) flowScope.get("key", Boolean.TRUE));
assertTrue(flowScope.getBoolean("key", Boolean.TRUE));
实际上,为了安全地访问flowScope属性,允许key not present、null和错误类型,我必须执行以下操作:
try {
Boolean value = getFlowScope().getBoolean(key);
return value == null ? false : value;
}catch(IllegalArgumentException e){
return false;
}
对于flowscope属性的类型安全和空安全检索,是否有更干净的替代方法
if(getFlowScope().contains(key, Boolean.class)){
return getFlowScope().getBoolean(key);
}
return false;
try {
Boolean value = getFlowScope().getBoolean(key);
return value == null ? false : value;
}catch(IllegalArgumentException e){
return false;
}