Как передать параметры в th: href при весенней загрузке Thymeleaf? - PullRequest
0 голосов
/ 25 сентября 2018

Это мой простой HTML-файл таблицы Thymeleaf и коды контроллера Spring MVC.Сначала приведено изображение моей таблицы.

enter image description here

Я пытаюсь создать несколько html-кодов для переноса значения идентификатора поста для просмотра кодов при 'Edit' илиСсылка «Удалить» нажата, но я понятия не имею, как это сделать.Это мои коды контроллера Spring MVC и коды view.html.

@Controller
public class PostController {

    @Autowired
    private PostService postService;

    @RequestMapping("/posts/view/{id}")
    public String view(@PathVariable("id") Long id, Model model) {
        Post post = postService.findById(id);
        model.addAttribute("post", post);

        return "posts/view";
    }

И,

<table id="blogTable" border="1" width ="1000" height="400" align = "center">
        <thead>
            <tr>
                <th>Post ID</th>
                <th>Post Title</th>
                <th>Post Content</th>
                <th>Date</th>
                <th>Author</th>
                <th>Action</th>
            </tr>
        </thead>
        <tbody>
        <tr th:each="post : ${posts}">
            <td th:text="${post.id}">Post ID</td>    
            <td th:text="${post.title}">Post Title</td>
            <td th:text="${post.body}">Post Content</td>
            <td th:text="${post.date}">Date</td>
            <!--  <td th:text="${post.auther.userName()}">Author</td> -->
            <td>
                <a href="posts/view.html" th:href="@{posts/view/post.id}">Edit</a><br/>  ==> How to transfer the post.id parameter to th:href?
                <a href="posts/view.html" th:href="@{posts/view/post.id}">Delete</a>  ==> How to transfer the post.id parameter to th:href?
            </td>
        </tr>
        </tbody>
     </table>

Я новичок в HTML и Spring.Как поместить значение post.id в контроллер mvc представления через тег th:href?

Ответы [ 3 ]

0 голосов
/ 25 сентября 2018

Используйте th: href, как описано в документации

  • th: href является атрибутом модификатора атрибута: после обработки он вычислит URL-адрес ссылки дляиспользовать и установить атрибут href тега для этого URL.
  • Нам разрешено использовать выражения для параметров URL (как вы можете видеть в orderId = $ {o.id}).Необходимые операции кодирования URL также будут выполняться автоматически.
  • Если необходимо несколько параметров, они будут разделены запятыми, например @ {/ order / process (execId = $ {execId}, execType = 'FAST')}
  • Шаблоны переменных также допускаются в URL-путях, например, @ {/ order / {orderId} / details (orderId = $ {orderId})}

Дляпример (обратите внимание на th:href и параметр postId, который получает значение из вашей переменной post):

<td>
     <a href="posts/view.html" th:href="@{posts/view/{postId}(postId=${post.id})}">Edit</a><br/>  ==> How to transfer the post.id parameter to th:href?
</td>
0 голосов
/ 11 марта 2019

Я использовал в этом формате и отлично работает.

<a th:href="@{${urlBase} + '/#!/pedido' + ${other.value}" target="_blank">Link</a>
0 голосов
/ 25 сентября 2018

Вы можете попробовать что-то вроде следующего:

<a href="posts/view.html" th:href="@{/posts/view/__${post.id}__}">Edit</a><br/>
<a href="posts/view.html" th:href="@{/posts/view/__${post.id}__}">Delete</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...