Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > velocity tools + spring i18n.properties


Автор: polosatij 6.12.2008, 04:59
изучаю Spring, пытаюсь достать i18n подключенный в Springe через

Код

    <bean id="messageSource"
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="defaultEncoding" value="UTF-8" />
        <property name="basenames">
            <list>
                <value>/WEB-INF/i18n/test</value>
            </list>
        </property>
    </bean>


в velocity tools

Код

package com.ti.velocity.tools;

import java.util.Locale;

import org.springframework.context.support.ReloadableResourceBundleMessageSource;

public class I18n {

    private ReloadableResourceBundleMessageSource mMessageSource;

    public ReloadableResourceBundleMessageSource getMessageSource() {
        return mMessageSource;
    }

    public void setMessageSource(final ReloadableResourceBundleMessageSource pMessageSource) {
        mMessageSource = pMessageSource;
    }

    public String getValue(final String pCategorie) {
        System.out.println("*" + pCategorie + " - " + mMessageSource); // тут трабла mMessageSource = null; 
        return mMessageSource.getMessage(pCategorie, null, Locale.getDefault());
    }

}


в конфиге springa попробовал

Код

    <bean id="velocityText" class="com.ti.velocity.tools.I18n">
        <property name="messageSource" ref="messageSource" />
    </bean>


но фокус не удался..  smile  можно ли как достать *.properties? 

Автор: polosatij 6.12.2008, 12:50

кстати, I18n, это простой POJO. как бы заставить Spring его знать?

Автор: Asal 6.12.2008, 12:59
1. зачем эти танцы с бубном? - #springMessage(messKey)
2.
Цитата(polosatij @  6.12.2008,  04:59 Найти цитируемый пост)
mMessageSource = null; 

а это зачем?
3.
Цитата(polosatij @  6.12.2008,  04:59 Найти цитируемый пост)
но фокус не удался.. 

конечно, у тебя property называется mMessageSource

Автор: polosatij 6.12.2008, 13:13
Asal, 

1. у меня логика зацеплена на i18n message, если скажешь, что не резонно, что я скажу, очень даже smile
2). я тебя не понял.. // тут трабла mMessageSource = null;
     это значит, что mMessageSource не инициализированна и равна нулю
3). это не важно, вызовется get/set-ter метода

Автор: Asal 6.12.2008, 16:18
polosatij, в 2 и 3 ты прав. читаю форум с кпк, поэтому не очень отображается
форматированый текст 
а вот в 1 не понимаю, #springMessage возвращает локализованое
сообщение, смену локали ты сделал, зачем лишние танцы?

Автор: polosatij 7.12.2008, 04:28
Цитата(Asal @  6.12.2008,  16:18 Найти цитируемый пост)
а вот в 1 не понимаю, #springMessage возвращает локализованое
сообщение, смену локали ты сделал, зачем лишние танцы? 


млин.. так и думал, что будет этот вопрос.. смотри, представь у тебя в магазине есть категории:

1. тумба-юмба
1.1 подраздел тумба-юмба
2. трум-бум

в базе данный у тебя будет стоять, товар нумер такой-то относится к разделу 1.1
но тебе для юзера надо будет отобразить полный путь.. понимаешь.. 

в 1.1 вся информация стоит, я хочу тоолзу, чтоб мне все вышестоящие категории собирала и отображала как мне это нужно..

фуф.. если не понял, не спрашивай  smile надА  smile тересна мне  smile и всё  smile тут  smile и тут  smile тоже всё  smile 

Автор: Kangaroo 7.12.2008, 17:47
Цитата(polosatij @  7.12.2008,  04:28 Найти цитируемый пост)
в 1.1 вся информация стоит, я хочу тоолзу, чтоб мне все вышестоящие категории собирала и отображала как мне это нужно

А при чем тут и18н?  smile 

Автор: polosatij 8.12.2008, 00:12
Цитата(Kangaroo @  7.12.2008,  17:47 Найти цитируемый пост)
А при чем тут и18н?  smile


перевод названия категорий  smile 

Автор: Kangaroo 8.12.2008, 01:59
Цитата(polosatij @  8.12.2008,  00:12 Найти цитируемый пост)
перевод названия категорий

Ну так - пишешь макрос, в котором разворачиваешь дерево категорий в нужном виде и для вывода названий используешь #springMessage

Автор: polosatij 8.12.2008, 02:37
Цитата(Kangaroo @  8.12.2008,  01:59 Найти цитируемый пост)
Ну так - пишешь макрос, в котором разворачиваешь дерево категорий в нужном виде и для вывода названий используешь #springMessage 


крутая подсказка.. извини, но если бы ты читал первое сообщение, ты бы понял, что трабла в инициализации.. твои слова "пишешь макрос", мне совершенно ни о чём не говорят..

фуф.. видел в книге про спринг тему "инициализация НЕ spring бинов".. надо будет завтра глянуть, думаю это в том направлении..  smile 

Автор: Kangaroo 8.12.2008, 16:33
Цитата(polosatij @  8.12.2008,  02:37 Найти цитируемый пост)
крутая подсказка.. извини, но если бы ты читал первое сообщение, ты бы понял, что трабла в инициализации.. твои слова "пишешь макрос", мне совершенно ни о чём не говорят..

Ну.. еще и обвиняют smile 
Мы с Asal вроде как пытаемся помочь....

Итак. Разбираемся.

Цитата(polosatij @  7.12.2008,  04:28 Найти цитируемый пост)
в 1.1 вся информация стоит, я хочу тоолзу, чтоб мне все вышестоящие категории собирала и отображала как мне это нужно..

Вот что это за тулза, где ты ее хочешь писать?
Это же вью, соотвественно пишем в Велосити. Я и предложил написать макрос (функция в Велосити) для развертывания этого дерева и использовать _стандартный_ #springMessage .
Если ты хочешь писать отдельный java класс, то какой будет результат работы этой тулзы и как ты его будешь выводить?


А если уж смотреть только первый пост, то покажи как ты используешь velocityText.



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)