我有两个HTML标记,一个创建配置文件的名字,姓氏,电子邮件和密码。也在同一HTML标记,所有配置文件的列表发布了一个链接到第二个HTML表单,在该人已经收到有关配置文件的信息,正如你所理解的,为了获得第二个表单,你需要点击链接,事实是,通过id它是完全找到和工作几乎一切完美,但有一件事,它把我带到这个页面:
localhost:8080/profiles/?1
因此,我不接收信息,为了接收它,我必须手动更改链接到:
localhost:8080/profiles/1
我有一个问题,我做错了什么,为什么会发生这种情况?
profiles.html:
<div th:method="GET" th:action="@{/profiles/{id}}" th:object="${profileById}">
<p th:text="*{firstName}">
<p th:text="*{lastName}">
<p th:text="*{email}">
</div>
main.html:
<form th:method="POST" th:action="@{/profiles}" th:object="${profile}">
<input type="text" placeholder="Input First Name:" th:field="*{firstName}"/>
<input type="text" placeholder="Input Last Name:" th:field="*{lastName}"/>
<input type="email" placeholder="Input Email:" th:field="*{email}"/>
<input type="password" placeholder="Input Password:" th:field="*{password}"/>
<button type="submit">Create Profile</button>
</form>
<div th:each="profiles : ${profiles}">
<a th:href="@{/profiles/(${profiles.id})}" th:text="*{profiles.firstName}"></a>
</div>
我看不出从controllers \ services和repository中删除信息有多大意义,问题是,正如我前面指出的,th:href把我扔给
配置文件/?1
而不是
profiles/1 -I need it here
- 感谢您的关注 *
2条答案
按热度按时间moiiocjp1#
根据标准URL语法,路径变量的正确语法如下所示:
n3ipq98p2#
我部分地解决了我的问题,现在通过点击链接,我去HTML标记,在那里我得到我需要的信息,但现在,由于一些未知的原因,一个小问题出现在URL中,甚至不能被称为问题,但我仍然想知道如何解决它。我一有消息就回来。
网址:
main.html:
视频:https://www.youtube.com/watch?v=8niAXQgsT0Y&ab_channel=KnowledgeBase
在Controller中使用@PathVariable,问题解决了,祝大家好运。