JSTL / JSP EL (язык выражений) в не JSP (автономном) контексте

Кто-нибудь может порекомендовать платформу для шаблонирования / форматирования сообщений в автономном приложении по аналогии с JSP EL (Expression Language)?

Я ожидаю, что смогу создать экземпляр какого-либо объекта, дать ему шаблон в соответствии с

Dear ${customer.firstName}. You order will be dispatched on ${order.estimatedDispatchDate}

предоставить ему контекст, который будет включать в себя словарь значений объектов параметров (в данном случае, например, объект типа Customer с именем 'customer' и объект типа Order с именем 'order').

Я знаю, что существует множество шаблонных фреймворков, многие из которых работают вне контекста веб-приложения, но я не рассматриваю это как большую тяжеловесную шаблонную фреймворк. Просто лучшая версия базовой функциональности формата сообщений, которую Java уже предоставляет

Например, я могу выполнить вышеизложенное с помощью java.text.MessageFormat, используя шаблон (или «шаблон», как они его называют), такой как

Dear {0}. You order will be dispatched on {1,date,EEE dd MMM yyyy}

и я могу передать его массив объектов, в моей вызывающей программе Java

new Object[] { customer.getFirstName(), order.getEstimatedDispatchDate() };

Однако при таком использовании код и шаблон тесно связаны между собой. Хотя я мог бы поместить шаблон в файл свойств ресурса, код и шаблон должны знать интимные подробности друг о друге. В EL-подобной системе контракт между кодом и шаблоном будет на гораздо более высоком уровне (например, customer и order, а не customer.firstName и order.estimatedDispatchDate), что облегчит изменение структуры, порядка и содержимого сообщения без изменения какого-либо кода.

Ответы на вопрос(10)

Ваш ответ на вопрос