Sử dụng các nút công cụ của Commons Tôi muốn biết cách yêu cầu bất kỳ trình chuyển đổi nào nói Trình biến đổi dữ liệu bỏ qua các giá trị null và sử dụng giá trị rỗng như mặc định. Như một ví dụ xem xét một lớp công chúng,Làm thế nào để yêu cầu BeanUtils bỏ qua các giá trị rỗng
public class X {
private Date date1;
private String string1;
//add public getters and setters
}
và convertertest tôi như,
public class Apache {
@Test
public void testSimple() throws Exception {
X x1 = new X(), x2 = new X();
x1.setString1("X");
x1.setDate1(null);
org.apache.commons.beanutils.BeanUtils.copyProperties(x2, x1);
//throws ConversionException
System.out.println(x2.getString1());
System.out.println(x2.getDate1());
}
}
ở trên ném một NPE kể từ ngày xảy ra là null. Điều này trông một kịch bản rất nguyên thủy với tôi mà nên được xử lý theo mặc định (như trong, tôi mong đợi x2 có giá trị null cho ngày1). Các doco nói với tôi rằng tôi có thể yêu cầu converter để làm điều này. Ai đó có thể chỉ cho tôi như là cách tốt nhất để làm điều này?
Tôi không muốn giữ lại Trình chuyển đổi và isUseDefault() thành true vì sau đó tôi phải thực hiện nó cho tất cả Ngày, Enum và nhiều trình biến đổi khác!
http://commons.apache.org/proper/commons-beanutils/v1.8.3/apidocs/org/apache/commons/beanutils/ converters/DateConverter.html liên kết của bạn bị hỏng – VedX