Frühling: Keine Nachricht gefunden unter dem code für die Ländereinstellung 'en_US'
applicationContext-Service.xml
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list><value>messages</value></list>
</property>
</bean>
Habe ich messages_en_US.Eigenschaften unter /src/messages_en_US.Eigenschaften
registerForm.passwordNotMatch=Password does not match.
Dies ist Zeile code bringt die Fehlermeldung:
binding.addError(new FieldError(REGISTER_FORM, "passwordNotMatch", messageSource.getMessage("registerForm.passwordNotMatch", null, locale)));
Fehler: Keine Nachricht gefunden unter code " registerForm.passwordNotMatch' für Gebietsschemas 'en_US'.
Was falsch sein könnte?
- Wo ist
applicationContext-Service.xml
erklärt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
funktioniert es, wenn Sie sich ändern:
?
Habe ich die Erfahrung gemacht, dass, wenn mit
ReloadableResourceBundleMessageSource
in jsp nicht finden, wird die properties-Datei. hinzufügenclasspath:
vor derbasename
mein problem gelöst.Gut, obwohl war mein Projekt verwaltet von maven, die ich denke, Sie können, versuchen Sie es trotzdem.
Ich hatte das gleiche Problem. Ich habe versucht
classpath:
aber es didn ' T einen Unterschied machen. Endete setzen in einem carriage return in der letzten Zeile meiner Datei Eigenschaften (so dass der cursor sitzt in der nächsten Zeile, die das Ende der Datei).Auch, wenn du mit Maven und legen Sie Ihre Eigenschaften-Datei, etwa so:
/resources/xxxx.properties
, die Ressource-Verzeichnis wird automatisch zog in Ihr erzeugt Krieg, soclasspath:
ist nicht notwendig.PROJECT_BASE/src/main/resources/
, nur um Verwirrung zu vermeidenFür diejenigen, die sich mit
@Bean
Anmerkung fürbundleMessageSource
.Fügen Sie die Namen für
@Bean
.Den gleichen Namen zu verwenden, die wir verwendet, um das
MessageSource
Objekt in@RestController
KlasseDann in der
@SpringBootApplication
KlasseBezeichnet dieser link
Ich denke, statt
<property name="basenames">
es sollte<property name="basename">
.setBasename()
akzeptiert einen einzelnenString
,setBasenames()
akzeptiert ein array vonString
s.