Witajcie.
Napotkałem dzisiaj problem, z którym nie mogę sobie poradzić.
Mam w swojej aplikacji bean'a, który jest kontenerem dla translacji:
@Bean(name="translationContainer")
public TranslationContainer translationContainer() throws IOException{
String applicationLanguage = environment.getRequiredProperty("application.language");
TranslationContainer translationContainer = new TranslationContainer(translationContainerSource());
translationContainer.setLanguage(applicationLanguage);
return translationContainer;
}
Ziarenko to jest udostępnione w widoku:
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".jsp");
viewResolver.setExposedContextBeanNames("translationContainer");
return viewResolver;
}
W samym pliku JSP używam go kilkanaście razy w taki sposób:
${translationContainer.getTranslation("button-edit")}
Wszystko działa, ale tylko w pliku JSP, który zwracam bezpośrednio z kontrolera. Jeżeli w nim dołączam jakieś inne (jsp:include) to metoda getTranslation() nie zwraca nic.
Przeszukałem kawałek Internetu i znalazłem trzy podpowiedzi:
- zamienić includy na statyczne: <% include file="" %>
- zmienić rozszerzenia załączanych plików na jspf
- wrzucić ziarno do sesji (scope = session).
Niestety żadne z nich nie rozwiązało problemu.
Macie jakieś wskazówki w jaki sposób poradzić sobie z tym problemem? Dodam, że używam SiteMesh.
karolinaakarolinaa