Ben böyle olmalı bence. İlkbahar Web Akışı özel Veri Bağlama yapar. Spring MVC'nin yaptığı gibi. Fark olsa da onu ele geçiriyor. Bahar MVC, kontrol ünitesinde (@InitBinder kullanarak) ele alır.
Yay webflow'u bağlanma düzeyindedir. Bir geçiş web akışını yürütmeden önce, tüm parametre değerlerini nesneye bağlar ve sonra formu doğrular (validate = "true" ise), başarılı bir doğrulamada geçişi çağırır.
Yapmanız gereken şey, bir Tarih'i bağladığı araçları değiştirmek için web akışını elde etmektir. Özel bir dönüştürücü yazarak bunu yapabilirsiniz.
@Component("myConversionService")
public class MyConversionService extends DefaultConversionService {
public void MyConversionService() {
}
}
WebFlow hesaba ne özel bağlanma ihtiyacı belirlemek için bu hizmeti kullanacak:
Önce bir dönüşüm hizmetini gerekir. Şimdi sadece belirli bir tarihçenizi yazınız (webflow varsayılanlarını bir tarih ciltleyicisine aklınızda bulundurun).
@Component (değeri = "applicationConversionService") genel sınıf ApplicationConversionServiceFactoryBean fasulyesi kayıtlı FormattingConversionServiceFactoryBean {
@Override
protected void installFormatters(FormatterRegistry registry) {
// Register the default date formatter provided by Spring
registry.addFormatter(new DateFormatter("dd/MM/yyyy"));
} }
uzanmaktadır:
@Component
public class MyDateToString extends StringToObject {
@Autowired
public MyDateToString(MyConversionService conversionService) {
super(Date.class);
conversionService.addConverter(this);
}
@Override
protected Object toObject(String string, Class targetClass) throws Exception {
try{
return new SimpleDateFormat("MM\dd\yyyy").parse(string);//whatever format you want
}catch(ParseException ex){
throw new ConversionExecutionException(string, String.class, targetClass, Date.class);//invokes the typeMissmatch
}
}
}
Çoktan çoğa bir ilişki için bir dönüştürme hizmeti yapmaya çalışıyorum. cevabınıza baktığımda, BOTH sınıflarını ("MyConversionService" ve "MyDateToString") veya MyDateToString'in MyConversionService'in özel bir uygulaması olduğunu eklemeliyim? o zaman, MyConversionService'e ne koymalıyım? teşekkürler – SaganTheBest
@ lethal.industry "MyConversionService" 'i oluşturmalı ve 'MyDateToString' 'i bu dönüştürme servisine eklemelisiniz. Yani ikisini de oluşturmanız gerekecek. MyDateString, ConversionService –
hmm'yi uygulamıyor ama benim için açık değil. bana bir örnek verebilir misiniz? @OneToMany Set dönüştürücü –
SaganTheBest