Представление нулей во Freemarker с помощью Spring Framework - PullRequest
3 голосов
/ 24 января 2012

Я занимаюсь разработкой приложения на основе Spring Framerwork. В качестве технологии просмотра я использую интегрированный с фреймворком Freemarker. Проблемы возникают, когда в некоторых полях Java-бин, в котором хранятся данные для визуализации, имеет значение null. Во Freemarker нет нулевой концепции, поэтому он считает, что в бине вообще нет этих полей. Я полагаю, что проблему можно решить с помощью настройки класса, который копирует данные из Java-бина в хеш-объект freemarker, указанный в шаблоне. Но я не нашел, какой класс это делает весной. Есть ли такой класс и как он называется?

Ответы [ 3 ]

3 голосов
/ 24 января 2012

Обычно вы просто имеете дело с нулями прямо в шаблоне. Например:

${person.surname!"n/a"}

, который будет печатать «н / д» в случае нулевой фамилии или просто:

${person.surname!}

, которая выведет пустую строку (ничего) в случае нулевой фамилии.

1 голос
/ 09 августа 2012

Если какая-либо часть в вашей цепочке свойств может быть нулевой, вы также можете поместить вокруг нее парантезы, чтобы защитить ее от нуля.Например, если вы наберете

${person.car.door.color!"<no value"}

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

${(person.car.door.color)!"<no value"}
1 голос
/ 24 января 2012

Вы можете использовать "!"оператор.Вот пример:

${your_property!""}

Будет напечатана пустая строка "", если your_property равно нулю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...