如何在thymleaf中评估HTML <span sec:authentication =“..”>

时间:2017-04-12 16:38:13

标签: spring-security thymeleaf

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

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

我已将身份验证对象更新为包含image,firstName,lastName等自定义字段。所以基本上在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

如您所见,我确实有一个有效的网址,我想将此网址括在<img src=""...>

我试过了

  • <img src = <span sec:authentication="principal.image"> </span></img>
  • <img th:src = <span sec:authentication="principal.image"> </span></th>

但这些都不起作用。

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

1 个答案:

答案 0 :(得分:1)

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

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