@@ -131,7 +131,9 @@ private FieldExtractor getAnnotationExtractByUrl(Class clazz, Field field) {
131
131
if (regexPattern .trim ().equals ("" )) {
132
132
regexPattern = ".*" ;
133
133
}
134
- fieldExtractor = new FieldExtractor (field , new RegexSelector (regexPattern ), FieldExtractor .Source .Url , extractByUrl .notNull (), extractByUrl .multi ());
134
+ fieldExtractor = new FieldExtractor (field ,
135
+ new RegexSelector (regexPattern ), FieldExtractor .Source .Url , extractByUrl .notNull (),
136
+ extractByUrl .multi () || List .class .isAssignableFrom (field .getType ()));
135
137
Method setterMethod = getSetterMethod (clazz , field );
136
138
if (setterMethod != null ) {
137
139
fieldExtractor .setSetterMethod (setterMethod );
@@ -157,7 +159,7 @@ private FieldExtractor getAnnotationExtractCombo(Class clazz, Field field) {
157
159
selector = new AndSelector (ExtractorUtils .getSelectors (extractBies ));
158
160
}
159
161
fieldExtractor = new FieldExtractor (field , selector , comboExtract .source () == ComboExtract .Source .RawHtml ? FieldExtractor .Source .RawHtml : FieldExtractor .Source .Html ,
160
- comboExtract .notNull (), comboExtract .multi ());
162
+ comboExtract .notNull (), comboExtract .multi () || List . class . isAssignableFrom ( field . getType ()) );
161
163
Method setterMethod = getSetterMethod (clazz , field );
162
164
if (setterMethod != null ) {
163
165
fieldExtractor .setSetterMethod (setterMethod );
@@ -172,7 +174,7 @@ private FieldExtractor getAnnotationExtractBy(Class clazz, Field field) {
172
174
if (extractBy != null ) {
173
175
Selector selector = ExtractorUtils .getSelector (extractBy );
174
176
fieldExtractor = new FieldExtractor (field , selector , extractBy .source () == ExtractBy .Source .RawHtml ? FieldExtractor .Source .RawHtml : FieldExtractor .Source .Html ,
175
- extractBy .notNull (), extractBy .multi ());
177
+ extractBy .notNull (), extractBy .multi () || List . class . isAssignableFrom ( field . getType ()) );
176
178
Method setterMethod = getSetterMethod (clazz , field );
177
179
if (setterMethod != null ) {
178
180
fieldExtractor .setSetterMethod (setterMethod );
@@ -359,7 +361,7 @@ private List<Object> convert(List<String> values, ObjectFormatter objectFormatte
359
361
}
360
362
361
363
private void setField (Object o , FieldExtractor fieldExtractor , Object value ) throws IllegalAccessException , InvocationTargetException {
362
- if (value == null ){
364
+ if (value == null ) {
363
365
return ;
364
366
}
365
367
if (fieldExtractor .getSetterMethod () != null ) {
0 commit comments