簡體   English   中英

Spring-boot Thymeleaf:如何顯示數據庫中的實體名稱並使該名稱成為超鏈接?

[英]Spring-boot Thymeleaf: How do I display an entity name from the database and make that name a hyperlink?

在我的應用程序中,有用戶,每個用戶可以有許多主題。 我能夠顯示屬於當前用戶的所有主題。

下面是顯示主題名稱的代碼行:

<li class="list-group-item" th:each="subject : ${subjects}" th:text="${subject.subjectName}"

我希望用戶能夠單擊該名稱,並將其帶到該主題的頁面。 該鏈接看起來像這樣:

    th:href="@{/viewSubject} + ${subject.subjectId}"

到目前為止,我已經可以在主題名稱旁邊放置一個“查看主題”鏈接,但是我希望他們可以單擊鏈接的名稱。

我嘗試了以下操作,但它不起作用,它正在顯示名稱,但如果有意義,則不可單擊:

 <div class="container">
<ul class="list-group">
 <li class="success" >My Subjects</li>
<li class="list-group-item" th:each="subject : ${subjects}" 
th:text="${subject.subjectName}" th:href="@{/viewSubject} + 
${subject.subjectId}">
View Subject
</li>

您可以執行以下操作:

<li class="list-group-item" th:each="subject : ${subjects}"  >
<a th:href="@{/viewSubject} + ${subject.subjectId}" th:text="${subject.subjectName}" >some text </a>
</li>

也許這將需要一些改進,但是該元素將是可單擊的。

你可以簡單地做

th:href="${'/viewSubject' + subject.subjectId}"

但我想你想做

th:href="${'/viewSubject/' + subject.subjectId}"

這將創建一個類似於"/viewSubjec/12"的網址,其中12為主題ID。

這應該做的工作:

<ul th:each="subject : ${subjects}">
    <li>  
        <a th:text="${subject.subjectName}" 
           th:href="@{/subjects/{subjectId}(subjectId=${subject.subjectId})}>
        </a>
    </li>
<ul>

我會遠離url串聯。 最好使用變量。

https://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#link-urls

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM