如何使用 Model 和 Thymeleaf 添加指向 iframe src 和 href 的链接?

How can I use Model and Thymeleaf to add links to iframe src and href?

我有一个简单的 html 页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>exchange</title>
</head>
<body>
<iframe src="..." width="980" height="560" frameBorder="0" class="giphy-embed" allowFullScreen></iframe>
<p><a href="..."></a></p>

</body>
</html>

如果我手动将链接插入到 iframe src 和 href 中,应用程序会正常显示页面,但如果我这样做:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>exchange</title>
</head>
<body>
<iframe src="${baseUrl}" width="980" height="560" frameBorder="0" class="giphy-embed" allowFullScreen></iframe>
<p><a href="${embedUrl}"></a></p>

</body>
</html>

然后通过模型我尝试设置这些属性:

@Controller
@AllArgsConstructor
public class MyController {

    private final static Logger LOGGER = LoggerFactory.getLogger(MyController.class);
    @RequestMapping(value = "/test/{code}", method = GET)
    public String getGifByExchangeRate(@PathVariable String code, Model model){
        LOGGER.info("get test {} ",code);
        ...
        model.addAttribute("baseUrl",holder.getBaseUrl());
        model.addAttribute("embedUrl",holder.getEmbedUrl());
        return "myHome";
    }

然后属性未填写,出现错误 issued.I 不太了解如何使用 Thymeleaf 实现此目的,所以我很乐意提供帮助。

将 thymeleaf 属性添加到您的源中,它应该开始为您工作。

改变

<iframe src="${baseUrl}" width="980" height="560" frameBorder="0" class="giphy-embed" allowFullScreen></iframe>
<p><a href="${embedUrl}"></a></p>

<iframe th:src="${baseUrl}" width="980" height="560" frameBorder="0" class="giphy-embed" allowFullScreen></iframe>
<p><a th:href="${embedUrl}"></a></p>

Thymeleaf 使用这些 th:* 属性通过模板引擎知道需要什么 运行。