Я реализовал синтаксический анализатор шаблонов в Spring-Boot, который использует тимелефлет TemplateEngine.Идея состоит в том, что пользователь отправляет имя шаблона, локаль и любые переменные, используемые в шаблоне, в контроллер.Переменные хранятся в объекте с именем ReplaceToken
, который состоит из ключа и значения.Затем они добавляются в контекст с ключом в качестве имени переменной и значением в качестве значения.
Есть ли способ либо выбросить / перехватить ошибку, когда переменная не установлена?
В настоящее времяЕсли переменная отсутствует при обработке шаблона, Thymeleaf просто использует вместо этого текст-заполнитель.Например,
<span th:text="${thisVariableDoesntExist}>
Placeholder Text //This will be displayed
</span>
Я думал о синтаксическом анализе всей пост-обработки шаблона для значений, которые я мог установить заранее, указывая, что значения заполнителей все еще используются, но я бы предпочел решение, в котором меня нетразобрать обработанный шаблон.Я также как-то изучал использование нулевых значений, но я не мог понять правильную реализацию, так как я не буду знать, какие переменные должны быть установлены.