bahar 3.0 MVC tümbahar 3,0 MVC messages.properties
İlk görmezlikten geldiği görülmekte, ben muhtelif olmuştur basan hata iletileri hakkında buldum springsource Herşey @ messages.properties ilişkin herhangi bir belge bulamadı forumları. Herhangi birinin, messages.properties'in belgelenmesinin nerede olduğuna dair bir referans varsa, bu harika olur. Belki messages.properties ilkbahardan değil, bir java özelliğinden geliyor?
Ben JSR-303 Type Checking Before Binding My hedefe tavsiye takip denedi şöyle
Benim durumdur kendi kullanıcı dostu hata mesajları ile bazı tür uyumsuzluğu hata iletileri değiştirmektir:
Model
public class Test {
private int numberbomb;
public int getNumberbomb() {
return numberbomb;
}
public void setNumberbomb(int numberbomb) {
this.numberbomb = numberbomb;
}
}
myservlet.xml
<mvc:annotation-driven/>
formundan messages.properties \
JSP
<form:form id="test" method="post" modelAttribute="test">
<form:errors path="*"/>
<form:label path="numberbomb">numberbomb</form:label>
<form:input path="numberbomb"/>
</form:form>
sınıfları
typeMismatch=bad value you bad bad person
test.numberbomb=you are driving me crazy with these bad inputs
Çıkış
özelliği için gerekli olan türü int tipi java.lang.String özellik değeri dönüştürmek için başarısız numberbomb; nested exception org.springframework.core.convert.ConversionFailedException: int türüne java.lang.String türünden "üç" değerini dönüştüremiyor; Giriş dizesi için: 'numberbomb' sahada nesne 'test' in "üç" benim denetleyicisi içinde
BindingResult.toString()
Alan hatası: iç içe özel java.lang.NumberFormatException olduğunu reddedilen değer [üç]; kodlar [typeMismatch.test.numberbomb, typeMismatch.numberbomb, typeMismatch.int, typeMismatch]; argümanlar [org.springframework.context.support.DefaultMessageSourceResolvable: kodlar [test.numberbomb, numberbomb]; argümanlar []; varsayılan mesaj [numberbomb]]; varsayılan ileti ['java.lang.String' türünün özellik değeri 'numberbomb' özelliği için 'int' türüne dönüştürülemedi; nested exception org.springframework.core.convert.ConversionFailedException: 'int' yazmak için 'java.lang.String' türünden "üç" değerini dönüştüremiyor;
yanlış yol gösterim özel hata iletileri <form:errors>
ile hata mesajları görüntüleniyor mı "üç"]: Giriş dizesi için: iç içe özel java.lang.NumberFormatException nedir? Messages.properties'e bakmak için yay yapılandırma dosyalarına bir şeyler eklemem gerekir mi? Bahar benim messages.properties (WEB-INF \ sınıfları klasöründe bulunduğu) Herhangi fikirler için
Teşekkür dosyasını görmezden gibi görünüyor!
Bu nedenle dokümantasyonda bulunabilir! - http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/context/support/ReloadableResourceBundleMessageSource.html - "..." cacheSeconds "ayarıyla özellik dosyalarının yeniden yüklenmesini ve ayrıca uygulama önbelleğini program aracılığıyla temizleme yoluyla.Uygulama sunucuları sınıf yolundan yüklenen tüm dosyaları genellikle önbelleğe aldığından, kaynakların başka bir yerde (örneğin, bir web uygulamasının "WEB-INF" dizininde saklanması) gerekli olması gerekir. sınıf yolu uygulamaya yansıtılmayacaktır. " – Ross