Для чего вы собираетесь использовать ресурс?В вашем примере вы ничего с этим не делаете.
Однако из его названия похоже, что вы пытаетесь загрузить сообщения интернационализации / локализации - для чего вы можете MessageSource
.
Если вы определите некоторые bean-компоненты (возможно, в отдельном messages-context.xml
), подобные этому:
<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>
Spring загрузит ваш пакет ресурсов при запуске приложения.Затем вы можете автоматически подключить MessageSource
к своему контроллеру и использовать его для получения локализованных сообщений:
@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.добавление Locale
в качестве параметра к вашему методу контроллера заставит Spring магически подключить его - это все, что вам нужно сделать.
Затем вы также можете получить доступ к сообщениям в вашем наборе ресурсов в ваших JSP, используя:
<spring:message code="my.message.key" />
Какой мой любимый способ сделать это - только кажется чище.