3

我是推土机的新手,我正在尝试将字符串映射到布尔值,反之亦然。谁能告诉我推土机支持这个还是我必须创建一个自定义转换器。该字符串将包含真或假,因此将直接映射。另外我使用的是 Dozer API 而不是 XML 配置。谢谢你的帮助

4

2 回答 2

3

我认为推土机不支持开箱即用,您可以使用自定义转换器为您完成这项工作。事实上,自定义转换器的帮助页面以这种情况为例:

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!");
  }

}  
于 2011-05-16T12:59:08.900 回答
1

我相信(不由自主地)Dozer 支持这种转换,因为它委托给 BeanUtils。我知道ModelMapper确实支持布尔到字符串,反之亦然。

于 2011-06-24T04:53:28.973 回答