На самом деле, технического контента нет, потому что я не помню его, поэтому я запишу его в этой статье.
Обычно в нашей системе приложений есть много SMS -сообщений, или толкайте сообщения и т. Д., Но эти сообщения имеют такую же общность, например, просто изменение имени пользователя.
Как и приведенный ниже, за исключением красного шрифта, остальные одинаковы.
Уважаемые клиенты: Ваша учетная запись Alipay 110 **** 11 Contracted Online Cerchant Loan должен быть погашен 1999,99 Yuan на 2018-06-10. Система автоматически вычтет баланс учетной записи Alipay, связанной сберегательную карту, Yu'ebao, ваш урегулированный счет в банке объявлений и Yu'ebao (если есть) на 2018-06-10. В связи с ограниченным лимитом погашения кредита и сберегательных карт, пожалуйста, уделите приоритет, чтобы обеспечить достаточное количество баланса Юабао, расчетного счета Банка объявлений и Юбао. (Если вы уже вернули, пожалуйста, игнорируйте эту информацию) [Банк против коммерции]
У разных студентов могут быть разные решения. Вот мои решения для вашей ссылки. Конечно, если есть лучшее решение, вы можете поделиться им ~
Решение 1: жесткий кодированный режим
Может быть жестко кодировать в коде или прочитать в файле конфигурации. Студенты, у которых есть опыт кодирования, должны написать
Преимущества: Содержание сообщения интуитивно понятно, а содержимое текстового сообщения может быть напрямую изменено в коде
Недостатки: код является избыточным и не кратким, и жестко кодируется, что приводит к перезапущению сервера из-за неизбежной необходимости изменения содержимого сообщения.
Решение 2: хранить в базе данных
Храните шаблоны общих сообщений на сервере и прочитайте и разрабатывайте непосредственно из базы данных, когда это необходимо.
Считается, что анализ после прочтения составляет тысячу человек и методы, каждый со своими собственными решениями, и каждый из своих собственных преимуществ и недостатков.
Здесь я использую метод MessageFormat.format в java.text包, который может легко сопоставить и анализировать наши шаблонные сообщения.
Введение в метод сообщения
MessageFormat используется для форматирования сообщения, обычно строка, например:
String str = "Я не {0}, возраст {1, номер, короткий}, высота {2, номер,#.#}";MessageFormat может отформатировать такие сообщения, а затем вставить форматированную строку в соответствующую позицию в шаблоне, например:
Замените {0} в str на "Pig", {1, номер, короткий} с номером 8 и {2, номером,#.#} С номером 1.2.
Тогда конечный пользователь получает форматированная строка: «Я не свинья, возраст - 8, высота - 1,2».
Сам MessageFormat сам по себе связан не с локалью, а с режимом, предоставленным пользователем для MessageFormat и шаблона субформы для вставленных параметров для генерации сообщений, подходящих для различных локалов.
Режим сообщений формат (основная часть):
ФОРМАТОМ:
{ArgentIndex}
{ArgentIndex, formattype}
{ArgentIndex, formattype, formatstyle}
Formattype:
число
дата
время
Выбор (требует выбора)
Formatstyle:
Короткий
середина
длинный
полный
целое число
валюта
процент
Subformatpattern
Возьмите ST в качестве примера, в этой строке:
1. {0} и {1, номер, короткий} и {2, номер,#.#}; Оба принадлежат к формателированию, 0,1,2 являются аргументацией.
2. Число в {1, число, короткое} принадлежит форматтипе, а короткометражник принадлежит Formatstyle.
3.#.#In {1, number,#.#} Принадлежит к режиму субформы.
Определение формататипа и формата - это генерирование значений формата даты, количества различных точек, процентов и т. Д.
Пример:
1. Аргумент, который должен быть неотрицательным целым числом. Его число не ограничено 10 из 0 до 9. Он может состоять из чисел от 0 до 9, поэтому может быть много, таких как:
String pig = "{0} {1} {2} {3} {4} {5} {6} {7} {8} {9} {10} {11} {12} {13} {14} {15} {16}"; Object [] {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q"}; String value = messageFormat.format (сообщение, массив); System.out.println (значение); Окончательный результат: ABCDEFGHIJKLMNOPQ
2. При форматировании строки только две отдельные кавычки представляют собой одну цитату, и одна единственная цитата будет опущена, например:
String Message = "OH, {0} IS 'A' PIG"; Object [] array = new Object [] {"Zhangsan"}; String value = messageFormat.format (сообщение, массив); System.out.println (значение); Конечный результат: oh, ZhangSan is a pig
Добавьте отдельные кавычки в букву A, например:
String Message = "OH, {0} IS '' A '' 'PIG"; Object [] array = new Object [] {"Zhangsan"}; String value = messageFormat.format (сообщение, массив); System.out.println (значение); Конечный результат: oh, ZhangSan is 'a' pig
3. Одиночные кавычки будут держать символ или строку подлинной.
Следовательно, если нет особых требований, единые кавычки должны быть удалены до формального форматирования, в противном случае будут вызваны ненужные проблемы, такие как:
String Message = "OH, '{0}' - свинья"; Object [] array = new Object [] {"Zhangsan"}; String value = messageFormat.format (сообщение, массив); System.out.println (значение);Окончательный результат: О, {0} - это свинья, Чжангсан не может быть отображен здесь.
Например, используя шаблон субформата, есть дополнительная единственная цитата:
String Message = "OH, '{0, номер,#.#} - свинья"; Object [] array = new Object [] {new Double (3.1415)}; String value = messageFormat.format (сообщение, массив); System.out.println (значение); Конечный результат: oh, {0,number,#.#} is 'a' pig。
Если это так, его можно отобразить правильно.
String Message = "OH, {0, номер,#.#} - свинья"; Object [] array = new Object [] {new Double (3.1415)}; String value = messageFormat.format (сообщение, массив); System.out.println (значение); Конечный результат: oh, 3.1 is a pig
3. Будь то цитируемая строка или не заставленная строка, левая кудрявая скоба не поддерживается, но правая кудрявая скоба поддерживается, например:
String Message = "OH, {Is The Pig"; Object [] array = new Object [] {"Zhangsan"}; String value = messageFormat.format (сообщение, массив); System.out.println (значение); Окончательный результат:异常java.lang.IllegalArgumentException: Unmatched braces in the pattern
Можно отобразить правую скобу, например:
String Message = "OH,} - свинья"; Object [] array = new Object [] {"Zhangsan"}; String value = messageFormat.format (сообщение, массив); System.out.println (значение); Конечный результат: oh, } is a pig
О методе MessageFormat.format:
Каждый раз, когда используется метод MessageFormat.format, будет создан экземпляр MessageFormat, что эквивалентно этому сообщению FormaT используется только один раз. Метод формата класса сообщений заключается в следующем:
public Static String Format (String Pattern, Object ... Arguments) {messageFormat Temp = new MessageFormat (шаблон); return temp.format (аргументы); }Если вы хотите повторно использовать экземпляр MessageFormat, вы можете использовать следующий метод:
String Message = "OH, {0} - свинья"; MessageFormat messageFormat = new MessageFormat (Message); Object [] array = new Object [] {"Zhangsan"}; String value = messageFormat.format (массив); System.out.println (значение); Конечный результат: oh, ZhangSan is a pig
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.