当前位置: 首页 > 知识库问答 >
问题:

th:href Thymeleaf重定向url,带有路径变量和对象id,带有Spring MVC

南门魁
2023-03-14

所以我试图用th: href重定向整个网址,但它添加了我不想要的字符。

我现在的网址是这个

http://localhost:8080/viewCourse/post/5

我试图回到帖子的一部分,那就是

http://localhost:8080/viewCourse/1

所以现在这就是我的html的样子

<a th:href="@{'/viewCourse/'(${post.course.id})}"><span th:text="${post.course.name}"></span></a>

这是我得到的网址

http://localhost:8080/viewCourse/?1

Id是正确的,但我不确定为什么 在那里。

我也试过这个

<a th:href="@{'/viewCourse/'(id=${post.course.id})}"><span th:text="${post.course.name}"></span></a>

这给了我这个

http://localhost:8080/viewCourse/?id=1

如果有人能看到我如何解决这个问题,并让我知道这将是伟大的,提前感谢。


共有2个答案

严欣怡
2023-03-14

显然,您的id是作为参数添加的。

您的代码应该如下所示:

<a th:href="@{/viewCourse/{id}(id=${post.course.id})}"><span th:text="${post.course.name}"></span></a>

输出应该是这样的:

http://localhost:8080/viewCourse/1

要了解有关thymeleaf url语法的更多信息,请参阅https://www.thymeleaf.org/doc/articles/standardurlsyntax.html

缪坚诚
2023-03-14

您可以通过字符串连接来实现添加id而不带问号

<a th:href="@{/viewCourse/} + ${post.course.id}"><span th:text="${post.course.name}"></span></a>

然而,我建议研究这个答案https://stackoverflow.com/a/14938399/5900967

因为这在某些情况下可能会失败

 类似资料:
  • 我正在尝试使用唯一ID将JSON对象存储在数组中,以便我可以在以后的代码中提取该特定对象,但是我的预期输出没有发生:

  • 我是Spring的新手,正在注册一个用户。我确实喜欢这个。 这很好,但这里的问题是,在我的欢迎中,我不需要这个用户对象。jsp页面,那么为什么要使模型对象更重呢。因此,我尝试了不使用ModelAttribute,这也适用于我,如下所示。 所以我只想知道什么是专业 我想将我的查询分类为以下4种类型的request.what如果我不需要在视图中发送数据并且我的请求是任何- 查询字符串即GET中的表单数

  • 因此,我成功地设置了一个邮递员模拟服务器,并可以利用简单的GET,这些GET在api url中没有任何路径变量,但所有类似于<code>{{url}}/users/:urserId</code>或类似于<code>{{url}}/users/:userId/ffavorits</code>的GET都以<code>mockRequestNotFoundError</code>响应 只是想找出正确的方

  • 我在Springdoc生成的OpenAPI规范中得到了验证错误,并且无法在网上找到与Java代码格式相匹配的示例。 我试图用Springdoc为Spring Boot控制器生成OpenAPI规范。我有一个具有多个路径变量的路径映射,方法签名接受一个命令对象(命令对象是由这些路径变量自动构造的)。swagger-ui.html似乎或多或少地起作用了,但是生成的JSON/YAML规范似乎并不有效。 为

  • 我正在尝试使用Spring Integration int-http:inbound-gateway测试Inbound http gatway: 我的Web.xml: 使用RestTemplate,我试图向网关发出POST请求: 那个 我总是得到没有找到404,你能给我一些提示吗? 非常感谢!

  • 我有一个小Java, Spring, thymeleaf网络应用程序与引导。 我的控制器: 我的HTML 我的浏览器中的源代码 我template.html的一部分 start.html路径 D:\Program\Dropbox\HelloSpring3\src\main\resources\templates\start。html css的路径 C:\用户\N-rG. m2\repository