首页 > 解决方案 > 我们如何在 Thymeleaf 条件运算符中获取 java 对象值( url )?

问题描述

我想在 thymeleaf 中放置一个条件,如果我的对象包含 url,那么我想用 Url 打印锚标记,这样我就可以打开它,如果没有,则应该显示一条消息。

<span th:utext="${#strings.contains({resultModel.results},'s3')} ? '<a target=&quot;_blank&quot; href=&quot;${resultModel.results}&quot; >URL</a>' : ${resultModel.results}"></span>

我想在 href 中获取 URL 作为 java 对象。请建议href=&quot;${resultModel.results}&quot;

如果我使用href=&quot;http://google.co.in&quot;它,它可以工作,但在使用href=&quot;${resultModel.results}&quot;时我没有获得价值。

注意:在上面的 html 代码中,其他条件正在工作并得到消息作为结果。

标签: javahtmlthymeleaf

解决方案


我不会尝试结合该逻辑...避免将 html 放入 html 中,只需将标签从内部 html 拆分为自己的标签。

<th:block th:with="condition=${#strings.contains(resultModel.results, 's3')}">
    <a th:if="${condition}" target="blank" th:href="${resultModel.results}">URL</a>
    <span th:unless="${condition}" th:text="${resultModel.results}" />
</th:block>

推荐阅读