// 工作中用到的,直接上代码。
private void fillNullValueForXmlGenerate(Object object) throws Exception {
Method[] getMethods = object.getClass().getMethods();
for (int i = 0; i < getMethods.length; i++) {
if (getMethods[i].getName().startsWith("get")) {
String lsName = getMethods[i].getName().substring(3);
if (String.class.equals(getMethods[i].getReturnType())) {
Object loValue = getMethods[i].invoke(object, new Object[]{});
if (loValue == null) {
// set default value
Method setMethod = object.getClass().getMethod("set" + lsName,
String.class);
setMethod.invoke(object, new Object[]{""});
}
} else if (BigDecimal.class.equals(getMethods[i].getReturnType())) {
Object loValue = getMethods[i].invoke(object, new Object[]{});
if (loValue == null) {
Method setMethodDecimal = object.getClass().getMethod(
"set" + lsName, BigDecimal.class);
setMethodDecimal.invoke(object, new Object[]{BigDecimal.ZERO});
}
}
}
}
}
private String convertStringForGenerateXml(String xmlString) {
// s = StringUtils.replace(s, "&", "&");
// s = StringUtils.replace(s, "/r", "
");
// s = StringUtils.replace(s, "/n", "
");
// s = StringUtils.replace(s, "/t", "	");
// s = StringUtils.replace(s, "<", "<");
// s = StringUtils.replace(s, ">", ">");
xmlString = StringUtils.replace(xmlString, "&#xD;", "
");
return xmlString;
}
private void convertCRLFForFreeText(Object object) throws Exception {
Method[] getMethods = object.getClass().getMethods();
for (int i = 0; i < getMethods.length; i++) {
if (getMethods[i].getName().startsWith("get")) {
String lsName = getMethods[i].getName().substring(3);
if (String.class.equals(getMethods[i].getReturnType())) {
Object loValue = getMethods[i].invoke(object, new Object[]{});
if (loValue != null) {
// conver CRLF value
String freeTextValue = loValue.toString();
freeTextValue = freeTextValue.replace("/r/n", "
");
freeTextValue = freeTextValue.replace("/n/r", "
");
freeTextValue = freeTextValue.replace("/r", "
");
freeTextValue = freeTextValue.replace("/n", "
");
// set convert after value
Method setMethod = object.getClass().getMethod("set" + lsName,
String.class);
setMethod.invoke(object, new Object[]{freeTextValue});
}
}
}
}
}