powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring MVC
8 сообщений из 8, страница 1 из 1
Spring MVC
    #38475895
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вечер добрый,
кто бы подсказал как в контроллере осуществить такое дело - чтобы когда запустить проект(сайт) ,при нажатии на ссылку из меню, загрузилась страничка именно на определённом языке в зависимости от изначально выбранного на сайте языка
...
Рейтинг: 0 / 0
Spring MVC
    #38476053
organism
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,

1. Конфиг:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    <mvc:interceptors>
        <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
            <property name="paramName" value="lang"/>
        </bean>
    </mvc:interceptors>

    <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basenames" value="WEB-INF/i18n/messages,WEB-INF/i18n/application"/>
        <property name="fallbackToSystemLocale" value="true"/>
    </bean>

    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
        <property name="cookieName" value="locale"/>
        <property name="defaultLocale" value="ru"/>
    </bean>




2. Создаем файлы с пропертями тут: "WEB-INF/i18n" или, как вы настроите у себя,

соответственно файлы с постфиксом для своего языка (application_ru.properties, messages_pl.properties)

3. Использование в представлении: подключаем библиотеку тегов спринга и юзаем так <spring:message code="application.title"/>

В контроллере: либо через контекст, либо напрямую через бин messageSource.

4. Локаль переключается через параметр lang=ru, lang=pl и т.д. плюс Локаль сохраняется в куках.
...
Рейтинг: 0 / 0
Spring MVC
    #38476063
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
organism,

я это понимаю, но если у меня много ссылок, страничек и текста в них, это нормально будет положить всё в properties?
и русский текст не распознаётся де там..вот как например сделали интернац. этого сайта?
http://korrespondent.net/
неужели все тексты в проперти ложили?
...
Рейтинг: 0 / 0
Spring MVC
    #38476065
organism
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fyn2013,

Понятно, что если вы хотите менять еще и контент, тонны текста в зависимости от языка - это решение вряд ли подойдет. Здесь нужно уже самому думать. Я просто привел то, что может спринг.
...
Рейтинг: 0 / 0
Spring MVC
    #38476081
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, на корреспонденте фактически 2 разных сайта, использующих один и тот же шаблон.
Что же до i18n в проекте с использованием Spring, то это не только возможность использовать спринг-тэги на страницах для интернационализации, но главное - контролировать локаль в контексте приложения. То есть, если использовать выше приведенный конфиг, можно в любом методе контроллера использовать текущую локаль:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@RequestMapping(value = "/mapping", method = RequestMethod.GET)
public ModelAndView someMethod(@RequestParam String someParameter, Locale locale) {
    if (locale.getLanguage().equalsIgnoreCase("ru"))
        return russionPage;
    else if (locale.getLanguage().equalsIgnoreCase("ua"))
        return ukrainianPage;
    else return defaultPage;
}
...
Рейтинг: 0 / 0
Spring MVC
    #38476086
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck,

ага...т.е. мне тоже сделать как бы два сайта в одном,и потом подставить в значение в контроллере, - russionPage или ukrainianPage, да?
а что будет в String someParameter?
...
Рейтинг: 0 / 0
Spring MVC
    #38476110
IDVsbruck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С параметром это пример: там может не быть ни одного, а могут быть твои параметры - @RequestParam или @PathVariable, могут быть HttpServletRequest и HttpServletResponse, или любые другие - Settion, Authentication, etc. Я тоже указал "гипотетический" параметр.

А в общем - да, можно доставить разные Views в зависимости от локали. Хотя это считается не очень "кошерным". Другое дело - в зависимости от локали подставлять в представление контент (ну, или модель). И хотя приведенный конфиг позволяет использовать разное наполнение в нужных тэгах из проперти-файлов, теоретически можно настроить Spring bundle на получение данных из базы. Как - не знаю, не сталкивался, не было необходимости, но почему-то уверен, что Спринг позволит это реализовать.
...
Рейтинг: 0 / 0
Spring MVC
    #38476643
Fyn2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IDVsbruck,

ну да в целом ясненько, но насчёт базы данных - там же нельзя будет показать в ней текст так, как это в jsp можно с помощью css оформить или если это будет схема
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring MVC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]