Per che cosa si intende utilizzare la risorsa? Nell'esempio tu non fai niente con esso.
Dal suo nome, tuttavia, sembra che si stia tentando di caricare messaggi di internazionalizzazione/localizzazione, per i quali è possibile un MessageSource
.
Se si definiscono alcuni fagioli (possibilmente in un separato messages-context.xml
) simile a questo:
<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>
Primavera sarà caricare il pacchetto di risorse quando voi l'applicazione si avvia. È quindi possibile autowire la MessageSource
nel vostro controller e usarla per ottenere messaggi localizzati:
@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. aggiungendo Locale
come parametro al metodo del controller, Spring lo collegherà magicamente - tutto ciò che è necessario fare.
È inoltre possibile quindi accedere ai messaggi nella resource bundle in JSP utilizzando:
<spring:message code="my.message.key" />
che è il mio modo preferito per farlo - solo sembra più pulito.
lo so MessageSource. 'messages_en.properties' è solo un esempio. Ho cambiato questo per evitare errori. – marioosh
Ah, ok. Beh suppongo che dipenda da cosa utilizzerai il file. Se è qualcosa di abbastanza standard come un file .properties o L18n, molto probabilmente ci sarà un modo più ordinato per farlo (come il messaggio Source) ma se stai usando i file in un modo specifico, specifico, non vedo un problema con quello che stai facendo. – Russell