代码之家  ›  专栏  ›  技术社区  ›  Joseph Hwang

如何在Th:Href中传输春天启动时的参数?

  •  2
  • Joseph Hwang  · 技术社区  · 7 年前

    这些是我的简单thymeleaf表HTML文件和SpringMVC控制器代码。下面的第一张是我的桌子图片。

    我尝试制作一些HTML代码,以便在单击“编辑”或“删除”链接时传输post-id值以查看代码,但我不知道该怎么做。这些是我的Spring MVC控制器代码和view.html代码。

    控制器 公务舱后控器{ @自动售货机 私人后期服务; @请求映射(“/posts/view/id”)。 公共字符串视图(@pathvariable(“id”)long id,model){ post post=postservice.findbyid(id); model.addattribute(“post”,post); 返回“帖子/视图”; } < /代码>

    <table id=“blogtable”border=“1”width=“1000”height=“400”align=“center”>
    THEAD & GT;
    T>
    <th>日志ID</th>
    <th>文章标题</th>
    <th>发布内容</th>
    <th>日期</th>
    <th>作者</th>
    <th>操作</th>
    & LT/TR & GT;
    &THEAD & GT;
    TSBOR>
    <tr th:each=“帖子:$帖子”>
    <td th:text=“$post.id”>post id</td>
    <td th:text=“$post.title”>发布标题</td>
    <td th:text=“$post.body”>发布内容</td>
    <td th:text=“$post.date”>日期</td>
    &!--<td th:text=“$post.auther.username()”>作者</td>-->
    TD & GT;
    <a href=“posts/view.html”th:href=“@posts/view/post.id”>编辑</a><br/>==>如何将post.id参数传输到th:href?
    <a href=“posts/view.html”th:href=“@posts/view/post.id”>删除</a>==>如何将post.id参数传输到th:href?
    &T/GT;
    & LT/TR & GT;
    &T/BOT>
    &表;
    < /代码> 
    
    

    我是HTML和Spring的初学者。如何通过th:hreftag将post.id值放入视图MVC控制器?

    我尝试制作一些HTML代码来传输post id值,以便在单击“编辑”或“删除”链接时查看代码,但我不知道如何操作。这些是我的SpringMVC控制器代码和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值通过th:href标签?

    3 回复  |  直到 7 年前
        1
  •  -1
  •   Sudhir Ojha    7 年前

    您可以尝试如下操作:

    <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>
    
        2
  •  3
  •   wi2ard    7 年前

    使用中描述的th:href documentation

    • 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>
    
        3
  •  0
  •   Nicandro Oliveira    7 年前

    我用这种格式,工作很好。

    <a th:href="@{${urlBase} + '/#!/pedido' + ${other.value}" target="_blank">Link</a>