【发布时间】:2011-04-24 09:10:48
【问题描述】:
我是 Dozer 的新手,我正在尝试将字符串映射到布尔值,反之亦然。谁能告诉我推土机支持这个还是我必须创建一个自定义转换器。该字符串将包含真或假,因此将直接映射。另外我使用的是 Dozer API 而不是 XML 配置。感谢您的帮助
【问题讨论】:
标签: dozer
我是 Dozer 的新手,我正在尝试将字符串映射到布尔值,反之亦然。谁能告诉我推土机支持这个还是我必须创建一个自定义转换器。该字符串将包含真或假,因此将直接映射。另外我使用的是 Dozer API 而不是 XML 配置。感谢您的帮助
【问题讨论】:
标签: dozer
我认为 dozer 不支持开箱即用,您可以使用自定义转换器为您完成这项工作。事实上,custom converters 上的帮助页面就是以这种情况为例:
public class NewDozerConverter extends DozerConverter<String, Boolean> {
public NewDozerConverter() {
super(String.class, Boolean.class);
}
public Boolean convertTo(String source, Boolean destination) {
if ("true".equals(source)) {
return Boolean.TRUE;
} else if ("false".equals(source)) {
return Boolean.FALSE;
}
throw new IllegalStateException("Unknown value!");
}
public String convertFrom(Boolean source, String destination) {
if (Boolean.TRUE.equals(source)) {
return "true";
} else if (Boolean.FALSE.equals(source)) {
return "false";
}
throw new IllegalStateException("Unknown value!");
}
}
【讨论】:
我相信(不由自主地)Dozer 支持这种转换,因为它委托给 BeanUtils。我知道ModelMapper 确实支持布尔转字符串,反之亦然。
【讨论】: