Есть ли способ, которым я могу встроить код Java в файл YAML для обработки во время выполнения. - PullRequest
0 голосов
/ 13 ноября 2018

Я знаю, что у ruby ​​есть эта возможность, использующая ERB. Но есть ли у Java такая возможность? Я пытаюсь сделать что-то вроде этого:

MY.yaml CURRENT_DATE: <% = LocalDateTime.now ()%>

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

У меня было похожее требование, когда в YAML было выражение, которое нужно было проанализировать во время выполнения в Java.

В итоге мы использовали MVEL для этого. Мы прочитали содержимое yaml и передали выражение в MVEL. Его синтаксис очень похож на синтаксис Java.

Вы также можете попробовать другую библиотеку шаблонов, например Шаблон скорости .

0 голосов
/ 13 ноября 2018

Да, классическим способом является использование страниц Java-сервера https://en.wikipedia.org/wiki/JavaServer_Pages Что-то вроде

Date : <% Date() %>
myArray:
<% for (int i=1; i<4; i++) { %>
    - This  is <% i %> th element.
<% } %>

Для современных шаблонизаторов на основе фигурных скобок используйте www.thymeleaf.org или лучше JTwig с двойными фигурными скобкамии другие интересные функции

 CurrentDate: {{ "now"|date("m/d/Y") }}

https://twig.symfony.com/doc/2.x/filters/date.html

...