Шаблон электронной почты Thymeleaf с таблицей и ссылкой не дает должного результата - PullRequest
0 голосов
/ 28 января 2020

Я пытаюсь отправить электронное письмо, используя шаблон Thymeleaf. Моя почта содержит информацию в виде таблицы и в некоторых ячейках я тоже хочу ссылку. Ниже мой шаблон и вывод. Тег href не дает правильного результата.

<html xmlns:th='http://www.thymeleaf.org'>
    <head>
        <link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css' />
        <style type='text/css'> td, th { border: 1px solid black; } </style>
    </head>
    <body>
        <div class='container'>
            <p>Hi Team,</p>
            <p>Kindly find the details</p>
            <table class='table table-striped' align='center' border='0' cellpadding='0' cellspacing='0' width='1300' style='border-collapse: collapse;'>
                <tbody>
                    <tr>
                        <td bgcolor='#C0C0C0' align='center' style='width: 150px;'>
                            <b>Name</b>
                        </td>
                        <td bgcolor='#C0C0C0' align='center' style='width: 150px;'>
                            <b>Flavor</b>
                        </td>
                        <td bgcolor='#C0C0C0' align='center' style='width: 150px;'>
                            <b>OS</b>
                        </td>
                        <td bgcolor='#C0C0C0' align='center' style='width: 150px;'>
                            <b>Cus</b>
                        </td>
                        <td bgcolor='#C0C0C0' align='center' style='width: 150px;'>
                            <b>Loc</b>
                        </td>
                        <td bgcolor='#C0C0C0' align='center' style='width: 150px;'>
                            <b>Env</b>
                        </td>
                        <td bgcolor='#C0C0C0' align='center' style='width: 150px;'>
                            <b>Zone</b>
                        </td>
                        <td bgcolor='#C0C0C0' align='center' style='width: 150px;'>
                            <b>Date</b>
                        </td>
                        <td bgcolor='#C0C0C0' align='center' style='width: 150px;'>
                            <b>Status</b>
                        </td>
                    </tr>
                    <tr align='center' th:each='value : ${values}'>
                        <td align='center' style='width: 150px;' th:text='${value.vmName}'></td>
                        <td align='center' style='width: 150px;' th:text='${value.flavor}'></td>
                        <td align='center' style='width: 150px;' th:text='${value.os}'></td>
                        <td align='center' style='width: 150px;' th:text='${value.customerName}'></td>
                        <td align='center' style='width: 150px;' th:text='${value.location}'></td>
                        <td align='center' style='width: 150px;'>
                            <a href='${value.environmentURL}'>${value.environmentName}</a>
                        </td>
                        <td align='center' style='width: 150px;'>
                            <a href='${value.zoneURL}'>${value.zoneName}</a>
                        </td>
                        <td align='center' style='width: 150px;' th:text='${value.date}'></td>
                        <td align='center' style='width: 150px;' th:text='${value.status}'></td>
                    </tr>
                </tbody>
            </table>
            <p>With regards,</p>
            <p>Auto Notifier </p>
        </div>
    </body>
</html>

Значение для environmentURL, environmentName, zoneURL, zoneName не приходит должным образом. Пожалуйста, помогите, где я делаю это неправильно output

1 Ответ

0 голосов
/ 17 февраля 2020

Два наблюдения:

Первое:

Тщательно используйте одинарные и двойные кавычки. Присмотритесь к документации Thymeleaf , и вы увидите, что все примеры выглядят так:

<div th:text="${value.zoneName}">

Одинарные кавычки предназначены для текстовых литералов:

<div th:text="${'Your zone name is ' + value.zoneName}">

Второе:

Глядя на этот пример:

<a href='${value.environmentURL}'>${value.environmentName}</a>

Это отобразит буквальное значение "$ {value.environmentName}", потому что это то, что у вас есть между открытие <a> и закрытие </a> тегов.

Вместо этого вы должны поместить директиву Thymeleaf в тег как атрибут .

Кроме того, ваш элемент href должен быть элементом Thymeleaf href !

Очистив все это, мы получим это:

<a th:href="${value.environmentURL}" th:text="${value.environmentName}"></a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...