这些是我简单的Thymeleaf表HTML文件和Spring MVC控制器代码。下面的第一张是我的桌子图像。
当单击“编辑”或“删除”链接时,我尝试制作一些html代码以将帖子ID值传输到查看代码,但是我不知道该怎么做。这些是我的Spring MVC Controller代码和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的初学者。如何通过th:href
标签将post.id值放入View MVC控制器?
答案 0 :(得分:3)
- 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>
答案 1 :(得分:0)
您可以在括号中添加参数:
<a th:href="@{/index(param1='value1',param2='value2')}">
Thymeleaf对上述内容进行了评估:
<a href="/index?param1=value1,m2=value2">
例如,假设我们将默认值设置为两个参数; name =“ Dracula”,年龄= 25。
<a th:href=@{/person(name=${name},age=${age})}></a>
<a href="/person?name='Dracula',age='25'"></a>
答案 2 :(得分:-1)
您可以尝试以下操作:
<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>