Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в Velocity избавиться от null-значений? 
:(
    Опции темы
kkorsakoff
Дата 12.10.2006, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.10.2005
Где: Санкт-Петербург

Репутация: 6
Всего: 14



Дело в том, что если объекта не может быть найден в контексте либо он - null, в результате выводится имя переменной, например $payout.amount

В процессе разработки это очень даже удобно, т.к. позволяет отследить мелкие ошибки вроде опечаток. Но в нормальной работе приложения это не очень хорошоsmile
Есть ли возможность задать какое-то значение "по-умолчанию", например, "N/A".
Ну или хотя бы чтобы просто было пусто smile 
PM MAIL WWW ICQ   Вверх
Stampede
Дата 12.10.2006, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Цитата(kkorsakoff @  12.10.2006,  02:41 Найти цитируемый пост)
Ну или хотя бы чтобы просто было пусто


Да запросто! В том месте, где выводишь значение переменной, пишешь (обращаем внимание на предваряющий восклицательный знак):

Код

[S]!$someVar[/S]
$!someVar


И тогда если переменная с данным именем (someVar) в контексте отсутствует, то выводится пустое место, "". Все это описано в документации.

Это сообщение отредактировал(а) Stampede - 18.10.2006, 10:29
PM WWW   Вверх
kkorsakoff
Дата 12.10.2006, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.10.2005
Где: Санкт-Петербург

Репутация: 6
Всего: 14



Спасибо большое, будем знать!  smile 

Сорри, тут не нашел. А где ж еще то...
http://jakarta.apache.org/velocity/docs/user-guide.html
PM MAIL WWW ICQ   Вверх
Stampede
Дата 18.10.2006, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гносеолог
**


Профиль
Группа: Участник Клуба
Сообщений: 963
Регистрация: 25.4.2005
Где: Calgary, Alberta, Canada

Репутация: 66
Всего: 144



Блин, ступил: конечно же, вот так:
Код

$!someVar


Цитата(kkorsakoff @  12.10.2006,  03:39 Найти цитируемый пост)
Сорри, тут не нашел. А где ж еще то...
http://jakarta.apache.org/velocity/docs/user-guide.html 


Дак все правильно, именно там и есть:

Цитата

 Quiet Reference Notation
When Velocity encounters an undefined reference, its normal behavior is to output the image of the reference. For example, suppose the following reference appears as part of a VTL template.
Код

<input type="text" name="email" value="$email"/>

When the form initially loads, the variable reference $email has no value, but you prefer a blank text field to one with a value of "$email". Using the quiet reference notation circumvents Velocity's normal behavior; instead of using $email in the VTL you would use $!email. So the above example would look like the following:
Код

<input type="text" name="email" value="$!email"/>

Now when the form is initially loaded and $email still has no value, an empty string will be output instead of "$email".

Formal and quiet reference notation can be used together, as demonstrated below.
Код

<input type="text" name="email" value="$!{email}"/> 



И в заключение: я тут как-то обещал рассказать про недостатки и ограничения Velocity. Так вот: не хочу. Ну есть, есть там всякие мелкие и не очень глюки - но, как говаривал незабвенный Велюров: "А кто не пьет?!". В смысле, кто ж без глюка?

На всякий глюк там всегда можно придумать какой-нибудь выверт. Поэтому давайте лучше обсуждать конкретные проблемы и пути их решения. Ну примерно как в этом топике smile
PM WWW   Вверх
kkorsakoff
Дата 18.10.2006, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 18.10.2005
Где: Санкт-Петербург

Репутация: 6
Всего: 14



А, извиняюсь плохо смотрел. Хотя специально в качестве последней попытки сделал поиск по "$!". Видимо опечатка вышла у меняsmile
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.