Do czego zamierzasz użyć zasobu? Na twoim przykładzie nic z tym nie robisz.
Z tej nazwy wygląda jednak na to, że próbujesz załadować wiadomości dotyczące internacjonalizacji/lokalizacji - dla których możesz MessageSource
.
Jeśli zdefiniować kilka ziaren (ewentualnie w osobnym messages-context.xml
) podobne do tego:
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>WEB-INF/messages/messages</value>
</list>
</property>
</bean>
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="defaultLocale" value="en_GB" />
</bean>
Wiosna będzie załadować pakiet zasobów podczas uruchamiania aplikacji. Można wtedy autowire się MessageSource
do kontrolera i użyć go, aby uzyskać zlokalizowane komunikaty:
@Controller
public class SomeController {
@Autowired
private MessageSource messageSource;
@RequestMapping("/texts")
public ModelAndView texts(Locale locale) {
String localisedMessage = messageSource.getMessage("my.message.key", new Object[]{}, locale)
/* do something with localised message here */
return new ModelAndView("texts");
}
}
NB. dodanie Locale
jako parametru do metody kontrolera spowoduje, że Spring będzie magicznie je podłączał - to wszystko, co musisz zrobić.
Można również wtedy dostęp do wiadomości w pakunku zasobów w swoim JSP przy użyciu:
<spring:message code="my.message.key" />
Który jest mój preferowany sposób to zrobić - po prostu wydaje się czystsze.
wiem MessageSource. "messages_en.properties" jest tylko przykładem. Zmieniłem to, aby uniknąć błędów. – marioosh
Ah, ok. Cóż, myślę, że to zależy od tego, do czego zamierzasz użyć tego pliku. Jeśli jest to coś dość standardowego, jak plik .properties lub wiadomości L18n, najprawdopodobniej będzie to jakiś konkretny sposób na zrobienie tego (np. MessageSource), ale jeśli używasz plików w jakiś specjalnie dostosowany sposób, nie widzę problem z tym, co robisz. – Russell