Насколько я знаю, в этом мире Java нет ни одного, который выглядит и ведет себя так же, как Razor.
Из того, что я могу понять, движок шаблонов в Razor не только анализирует "заполнители" встатический текст, такой как #xxx
в Velocity или ${xxx}
в JSP.
Вместо этого символ @
в Razor действует как переключатель для переключения на синтаксический анализатор языка хостинга (VB и C # в случае Razor), распознавая полный синтаксис элемента сразу после знака @
.Это позволяет Razor распознавать как имена объектов, переданных в движок, так и синтаксические структуры, такие как циклы и условные выражения.
Это открывает все возможности языка хостинга для шаблонов Razor, что может быть опасно.дело в чужих руках ...
Большинство движков шаблонов в Java-среде мира сознательно решили строго отделить бизнес-логику от шаблонизирующих задач и, таким образом, имеют очень ограниченную поддержку или вообще не поддерживают динамические функции, такие как циклы илиусловные выражения в их шаблоне "languages", выбирая декларативный стиль вместо динамического