Предисловие
Обычно, когда мы делаем разработку, мы сталкиваемся с необходимостью отправки текстовых сообщений и электронных писем. Клиент часто предоставляет шаблон для отправки контента. Если мы разбиваем струны в программе, чтобы получить этот шаблон, это, очевидно, способ обмануть наших товарищей по команде. Как правило, шаблон помещается в файл свойств и заменяет некоторые переменные при использовании.
В этой статье мы используем Springboot для реализации функции отправки кодов проверки SMS на основе шаблона. Я не скажу многое ниже, давайте посмотрим на подробное введение вместе.
Советы:
1. Регулярные выражения
2. Файл свойств считывает Springboot
Определение шаблона
Определите шаблоны SMS, которые необходимо определить в файле msg.properties, с тем же каталогом, что и Application.properties. Обратите внимание, что [[код]] в нем - переменная, которую нужно заменить.
tem.msg.verify.code = код проверки: [код], пожалуйста, не раскрывайте его другим.
Читать свойства
Определите компонент msgconstants, укажите файл свойств, который будет загружен, используется для чтения определенного шаблона, используйте аннотацию @value пружины
@Propertysource ("classpath: msg.properties") @componentpublic class msgconstatns {@value ("$ {tem.msg.verify.code}") private String sendcodemsg; public String getSendCodemsg () {return SendCodemsg; } public void setSendCodemsg (String sendCodemsg) {this.sendCodemsg = sendCodemsg; }}Анализировать класс инструментов шаблона
Принимая во внимание общее, установите параметр для карты, то есть переменная, которую необходимо заменить, и регулярное выражение заменяет соответствующий ключ. Формат ключа здесь: {key}, который может быть изменен в соответствии с вашей собственной ситуацией и одновременно изменить обычную.
public Static String getContent (map <string, string> params, string content) {string reg = "// {// w*}"; // pattern pattern = pattern.compile (reg); Matcher Matcher = pattern.matcher (content); while (matcher.find ()) {string Group = matcher.group (); // String key = Group.substring (1, Group.length () - 1); if (! params.containskey (key)) бросить новое normalexception («Ключ, который нужно заменить, не было найдено:» + ключ); content = content.replace (group, params.get (key)); } вернуть контент; }тест
Очень простой запрос Ajax возвращает содержимое полученного текстового сообщения
@Restcontroller @requestmapping ("demo") открытый класс Democontroller {@resource private msgconstatns msgconstatns; @Requestmapping ("msg") public String msgContent () {String code = "123456"; // В формальном развитии случайные числа обычно используются map <string> params = new hashmap <> (); params.put ("code", code); returncodeutil.getContent (params, msgconstatns.getsendcodemsg ()); }}результат
Ожидаемое значение: код проверки: 123456, пожалуйста, не раскрывайте его другим
Фактический эффект:
Суммировать
Вышеуказанное - все содержание этой статьи. Я надеюсь, что содержание этой статьи имеет определенную справочную ценность для каждого обучения или работы. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.