我需要将源中的firstName和lastName添加到目标中的fullName。我先要
我的源和目标类-
public class Source {
private int id;
private String firstName;
private String lastName;
private List<String> addressList;
}
public class Target {
private int id;
private String fullName;
private String city;
}
这是我的映射器接口-
@Mapper
public interface SourceTargetMapper {
SourceTargetMapper INSTANCE = Mappers.getMapper(SourceTargetMapper.class);
@Mapping(expression = "java(source.getFirstName()+source.getLastName())", target = "fullName")
@Mapping(expression = "java(source.getAddressList().get(0))", target = "city")
Target sourceToTarget(Source source);
@InheritInverseConfiguration
Source targetToSource(Target target);
}
在中间加空格会给我带来错误-
@Mapping(expression = "java(source.getFirstName()+" "+source.getLastName())", target = "fullName")
是否有任何其他解决方案或方法?
我发现了另一种通过使用装饰器模式来编写映射的方法,正如在地图结构留档中提到的那样。
我将在这里复制粘贴链接和示例。
https://mapstruct.org/documentation/dev/reference/html/#customizing-使用装饰器的映射器
下面是取自mapstruct文档的代码-
@Mapper
@DecoratedWith(PersonMapperDecorator.class)
public interface PersonMapper {
PersonMapper INSTANCE = Mappers.getMapper( PersonMapper.class );
PersonDto personToPersonDto(Person person);
AddressDto addressToAddressDto(Address address);
}
public abstract class PersonMapperDecorator implements PersonMapper {
private final PersonMapper delegate;
public PersonMapperDecorator(PersonMapper delegate) {
this.delegate = delegate;
}
@Override
public PersonDto personToPersonDto(Person person) {
PersonDto dto = delegate.personToPersonDto( person );
dto.setFullName( person.getFirstName() + " " + person.getLastName() );
return dto;
}
}
您将需要转义引用"
。
例如
@Mapping(expression = "java(source.getFirstName()+ \" \" +source.getLastName())", target = "fullName")
我有以下代码: 代码JS: 运行此代码后,具有以下形式 我想在最后一个括号前添加空格,如下例所示。 您能告诉我如何接受对代码的更改,以便保留空白吗? 提前感谢! 编辑: 我添加了这个代码来调用这里作为添加空白。。。
问题内容: 我遇到过这种模式 并从http://gskinner.com/RegExr/站点了解到= =匹配字母数字字符和下划线,并且=匹配先前的令牌1次或多次(不确定确切的含义)。 如何将连字符添加到列表中? 我试过了但是没用,我没有任何匹配… 问题答案: 您需要一个字符类,用表示。然后可以在字符类中使用它,并可以添加更多字符: 不过请小心,如果您添加更多字符以进行匹配。连字符减号必须在类中的
如何解析和添加两个值?我使用这种模式: 包括间距,我需要得到“13” 使用正则表达式是可能的,还是有其他方法可以轻松实现这一点? 提前感谢你的帮助。
我想将css文件链接到我的应用程序。在我的fxml文件中,我使用以下命令: ...当我在scenebuilder中打开fxml文件时,我可以看到一个样式化的预览。但是,当我尝试运行应用程序时,出现了一个错误: java.net.MalformedURL异常:无协议:.../stylesheet1.css 所以我用这种方法测试它: 现在它是反过来的-应用程序启动并应用css,但我没有看到场景构建器中
我需要添加一些空间开始的第一项和结束的最后一项的回收,所以他们可以滚动到屏幕的边缘(因为他们不能与回收器视图的边距或填充) 问题是项目之间的间距应该不同,所以我不能只是将这个“空间”添加到项目布局中。现在,我正试图将ItemEdition添加到我的回收器中,但结果就是这样: 在我触摸它之前,行间距随机出现:随机行间距 然后,当我滚动到最后并返回时,所需的空间出现在屏幕上适合的最后一项之后,而不是在
问题内容: 如何使用exec.command启动带有空格的文件?添加引号似乎无效,“或%20代替空格也不起作用。 问题答案: 这有效,但仅在Windows中
问题内容: 我是Java新手。作为.Net开发人员,我非常习惯Regex.Net中的类。Regex(正则表达式)的Java实现不错,但是缺少一些关键功能。 我想为Java创建自己的帮助程序类,但我想也许已经有一个可用的类了。那么,有没有免费的,易于使用的Java正则表达式产品可用,还是我应该自己创建一个? 如果我要编写自己的课程,您认为我应该在哪里共享该课程,以供其他人使用? [编辑] 有人抱怨我
我使用的是PHP,但对正则表达式不是很好。我需要一个preg_替换,如果字母或数字相邻,可以添加空格。 这些是场景: 谢谢