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


Автор: barracuda477 8.1.2009, 17:36
Есть валидатор, в нём

Код

            if (attachedCompany == null) {
                errors.rejectValue("companyId", "error.task.cannot.find.company", 
                        new Object[] {tCommand.getCompanyId()}, "Can not find company");
            }


где tCommand.getCompanyId() - возвращает Integer

есть messages.properties, в котором прописано

Код

error.task.cannot.find.company=Can not find company by it's ID {0}


Если запостить форму, не удовлетворяющую правилу - получаю текст ошибки

Код

Can not find company by it's ID {0}


вне зависимости от значения аргумента. То же самое получается если я в валидаторе передам, к примеру, new Object[] {new Integer (555)}

Где копать?
Спасибо





Автор: Kangaroo 8.1.2009, 22:29
Посмотри http://forum.springframework.org/archive/index.php/t-44241.html.

Твоя проблема?

Автор: barracuda477 10.1.2009, 22:16
Спасибо, Kangaroo, за ссылку

Попробовал тем способом - там тоже не сработало, тоже показывался {0}

Перебирая различные варианты - обнаружил, что оно-всё таки срабатывает если я {0} переношу за символ апострофа

Заменив 

Код

Can not find company by it's ID {0}


на

Код

Can not find company by it''s ID {0}


у меня заработало в двух вариантах - и в моём и приведённом тобой по ссылке smile

Автор: Kangaroo 10.1.2009, 22:30
barracuda477, 
да, удивительно  smile 

А вот http://magicmonster.com/kb/prg/java/jsp/jstl/apostrophe.html, где все это классно расписано.


И пометь тему решенной (справа вверху).

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