由於smooks將字符串編碼/解碼爲java.util.Date/java.sql.Date/ java.util.Calendar/java.sql.Time/java.sql.Timestamp。我的用例,我不得不從日期解碼。所以,我已經建立了源類多一個變量,setter和getter一樣 - private String modeifiedDateTimeSent
我與modifiedDateTimeSent變量映像Smooks中-config.xml中
<jb:value property="dtSent" data="modeifiedDateTimeSent" decoder="Date">
<jb:decodeParam name="format">yyyy-MM-dd HH:mm:ss</jb:decodeParam>
</jb:value>
接下來,我必須設置的值映射Java類A到B類
Date modifiedDtTimeSent = order.getLr().getAdminSection().getDateTimeSent();
String modifiedDtTimeSentString = getDateAsString(modifiedDtTimeSent,"yyyy-MM-dd HH:mm:ss");
object.setModifieddatetimesent(modifiedDtTimeSentString);
然後才終於變量,做你的Smooks Java到Java皈依 -
Smooks smooks = new Smooks("smooks-config.xml");
ExecutionContext executionContext = smooks.createExecutionContext();
JavaSource source = new JavaSource(object);
JavaResult result = new JavaResult();
smooks.filterSource(executionContext, source, result);
ConvertedClass cc = (IimLocalResponse) result.getBean("xyz");
希望這會有所幫助。
來源
2016-04-22 09:05:01
RCS