空の文字列の Null 値をサポートする構成を見つけたようです。私の @Controller については、 my の に固執しStringTrimmerEditor
ます@ControllerAdvice
。ここには新しいものはありません。
SWFの場合ConversionService
、トリックを行うようです:最初に、Converter
「」をNullに変換するを作成します:
public class StringToNullConverter implements Converter<String, String> {
@Override
public String convert(String source) {
if (StringUtils.isEmpty(source)) {
return null;
}
return source;
}
}
これを春に登録する必要があります。
import org.springframework.core.convert.*;
@Configuration
public class SpringConfiguration {
@Bean public ConversionService conversionService() {
DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();
conversionService.addConverter(new StringToNullConverter());
return conversionService;
}
}
これまでのところ、新しいことは何も起こらず、org.springframework.core.convert
パッケージについて話している. SWF グルーがorg.springframework.binding.convert
パッケージに入っています。
import org.springframework.binding.convert.*;
@Bean public ConversionService flowConversionService(org.springframework.core.convert.ConversionService conversionService) {
DefaultConversionService service = new DefaultConversionService(conversionService);
return service;
}
これを で SWF に接続し
<webflow:flow-builder-services [..] conversion-service="flowConversionService" />
ます。
これは少し多すぎるように見えますが、機能します。同じことを達成するために2つの異なる実装(StringTrimmerEditor
および)があるため、より良い方法があるはずです。StringToNullConverter
私にとっては、それがConversionService
唯一無二の方法のように思えます。しかし、 Spring でそれを行う方法がわかりませんでした@Controller
。