Не удалось разобрать как выражение: "@ {email.getUrl ()}" (шаблон: "test" - строка 10, столбец 8) - PullRequest
0 голосов

Я хочу получить доступ к URL другого сервера со страницы тимили. Как это сделать? Посмотрите на мой контроллер.

@GetMapping("/getJSPage")
    public String getJSP(Model theModel)
    {
        // String url = "https://test-node-api-test.herokuapp.com/";
        Email email = new Email();
        theModel.addAttribute("email", email);
        return "test";
    }

Мой класс электронной почты

class Email
{
    private String mail;

    public String getURL(){
        return "https://test-node-api-test.herokuapp.com/";
    }
}

и вот мой тест. HTML file

<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Send HTML Email using JSP</title>
</head>
<body>
    <h1>Send Email using JSP</h1>
<p>
    <a th:href="@{email.getUrl()}"> clickable</a>
    <a th:href="@{https://test-node-api-test.herokuapp.com/}"> clickable</a>
</p>
</body>
</html>

Ниже ссылки <a th:href="@{https://test-node-api-test.herokuapp.com/}"> clickable</a> жесткий код, он работает, но <a th:href="@{email.getUrl()}"> clickable</a> генерирует ошибку

org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "@{email.getUrl()}" (template: "test" - line 10, col 8)

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 01 мая 2020

Согласно Стандартному синтаксису URL , если вы хотите использовать выражение при создании URL-адреса, вы должны окружить его ${...}.

<a th:href="@{${email.getURL()}}"> clickable</a>

Также, getURL() должно точно соответствовать получателю. В вашем примере кода getURL() и getUrl().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...