Smooks()を使用してCSVを読み取り、それらをPOJO1.4
に変換します。Person
CSVは、各行のコンマ区切りのレコードで構成され、各レコードにはパイプで区切られたフィールドがあります。
スミス|ジョン|45|男性|ジョニー|JSmith| JSmizzle、
スミス|ジェーン|43|女性|ジェニー
したがって、各行は作成する異なる人物を表します。まず、POJO:
public class Person
{
private String lastName;
private String firstName;
private int age;
private boolean isMale;
private List<String> aliases;
}
私の問題はList
エイリアスの問題です。これが私のXML構成の重要な部分です。
<reader class="org.milyn.csv.CSVReader">
<param name="fields">lastName,fristName,age,gender,aliases</param>
<param name="separator">|</param>
<param name="strict">false</param>
</reader>
<core:filterSettings type="SAX"/>
<jb:bean beanId="person" class="net.me.myproject.app.Person" createOnElement="csv-set/csv-record/">
<jb:value property="lastName" data="csv-set/csv-record/lastName"/>
<jb:value property="firstName" data="csv-set/csv-record/firstName"/>
<jb:value property="isMale" data="csv-set/csv-record/gender"/>
<jb:value property="age" data="csv-set/csv-record/age"/>
<jb:wiring property="aliases" beanRefId="aliases"/>
</jb:bean>
<jb:bean beanId="aliases" class="java.util.ArrayList" createOnElement="???">
<jb:wiring beanRefId="alias"/>
</jb:bean>
<jb:bean beanId="alias" class="java.util.String" createOnElement="???">
???
</jb:bean>
だから私が窒息しているのは、 ArrayListと各文字列をcreateOnElement
正しく構成することです。正しい方向に私を動かすことができる人に事前に感謝します!aliases
alias