#thymeleaf
#thymeleaf
Вопрос:
Я хотел бы знать идентификаторы электронной почты в шаблоне thymleaf для ссылки mailto, например: hello@gmail.com для <a href="mailto:hello@gmail.com"></a>
Для поиска идентификаторов электронной почты следует использовать регулярное выражение.
Я пробовал использовать встроенный javascript thymleaf, но, к сожалению, не работает в Outlook.
<script>
/*<![CDATA[*/
function formatEmails(){
var content=document.getElementById('content').innerHTML;
var regex = /S @S .S /g
var matches = [];
var match = regex.exec(content);
var formatedContent=content;
while (match != null) {
if(matches.indexOf(match[0]) === -1)matches.push(match[0]);
match = regex.exec(content);
}
matches.forEach(function(email,index){
formatedContent=formatedContent.split(email).join('<a href="mailto:' email '">' email '</a>')
});
document.getElementById('content').innerHTML=formatedContent;
}
/*]]>*/
</script>
Если нет прямого способа сделать это, как это сделать?
Заранее спасибо.
Комментарии:
1. Немного неясно, что именно вы спрашиваете. Вы хотите заменить
me@email.com
на<a href="mailto:me@email.com">me@email.com</a>
, я думаю? Почему бы вам не сделать это в самом шаблоне Thymeleaf?2. @WimDeblauwe Да, точно. Как это сделать в thymleaf?. На самом деле это был мой вопрос.
3.
content
Является ли ввод HTML, в котором пользователь может вводить? Или это<div>
, который отображается сервером? Если это просто отображение содержимого, вы можете использовать замену строки в вашем контроллере на Java.4. @WimDeblauwe Есть ли какой-либо способ сделать это в самом шаблоне, что-то вроде поиска и замены с использованием регулярного выражения.
5. Есть
#strings.replace
в Thymeleaf (См. thymeleaf.org/doc/tutorials/3.0 / … ), но это не работает с регулярным выражением. Смотрите github.com/thymeleaf/thymeleaf/issues/730 для соответствующей проблемы.