【问题标题】:How to evaluate HTML<span sec:authentication=..> in thymleaf如何在 thymeleaf 中评估 HTML<span sec:authentication=..>
【发布时间】:2017-09-08 13:33:01
【问题描述】:

我想在我的页面上显示图像,我正在努力评估一个包含 HTTP URL 的 span 标签。

 <span sec:authentication="principal.image">

我已经更新了身份验证对象,使其具有图像、名字、姓氏等自定义字段。所以基本上在 HTML 之下

<div th:fragment="logout" class="logout" sec:authorize="isAuthenticated()">
  <div class="container">
    <div class="row">
      <div class="span2 display-label">Name:</div>
      <div class="span4 display-values">
        <p>
          <span sec:authentication="principal.firstName"></span>
          <span sec:authentication="principal.lastName"></span>
        </p>
      </div>
    </div>
    <div class="row">
      <div class="span2 display-label">Email:</div>
      <div class="span4 display-values">
        <p>
          <span sec:authentication="name"></span>
        </p>
      </div>
    </div>
    <div class="row">
      <div class="span2 display-label">Image:</div>
      <div class="span4 display-values">
        <span sec:authentication="principal.image"> </span>
      </div>
    </div>
    <div>
      <form action="#" th:action="@{/logout}" method="post">
        <input type="submit" value="Logout"/>
      </form>
    </div>
  </div>
</div>

正在打印

Name:
Abhishek 

Email:
abhishek@gmail.com

Image:
https://scontent.xx.fbcdn.net/v/t1.0-0/p480x480/320426_10151045513476766_423049521_n.jpg?oh=766767548269c2483f0ad1e865d

如您所见,我确实有一个有效的 URL,我想将此 URL 括为 &lt;img src=""...&gt;

我试过了

  • &lt;img src = &lt;span sec:authentication="principal.image"&gt; &lt;/span&gt;&lt;/img&gt;
  • &lt;img th:src = &lt;span sec:authentication="principal.image"&gt; &lt;/span&gt;&lt;/th&gt;

但这些都不起作用。

PS:我不想创建模型属性来存储图像 URL 并在页面上显示。

【问题讨论】:

  • 据我所知,如果不提供 src="" 或 th:src="" 中的 url,没有其他办法。由于您不想在 html 页面中显示原始 url,您可以使用另一个 url,它将调用您的控制器函数并提供输入流,以便您可以在不显示 url 的情况下预览图像。

标签: spring-security thymeleaf


【解决方案1】:

您发布的语法不正确。尝试使用具有以下语法的身份验证对象:

<img th:if="${#authentication.principal.image}"
     th:src="${#authentication.principal.image}"
     alt="placeholder" />

【讨论】:

  • 请考虑添加关于为什么这就是答案的解释。
  • 这真的只是语法。我还是更新了答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
  • 2019-03-12
  • 1970-01-01
  • 2015-10-14
  • 2016-04-23
相关资源
最近更新 更多