我是Dozer的新手,我正在尝试将String映射到布尔值,反之亦然。谁能告诉我Dozer支持这个还是我必须创建一个自定义转换器。该字符串将包含true或false,因此将直接映射。我也使用Dozer API而不是XML配置。谢谢你的帮助
答案 0 :(得分:3)
我认为推土机不支持开箱即用,您可以使用自定义转换器为您完成此项工作。实际上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!");
}
}
答案 1 :(得分:1)
我相信(在我的头脑中)Dozer支持这种转换,因为它委托给BeanUtils。我知道ModelMapper支持Boolean到String,反之亦然。