前端问题

Thymeleaf

无法识别fruit.fid等条件

解决:在html头添加

1
<html lang="zh_CN" xmlns:th="http://www.thymeleaf.org" >
1
2
3
4
5
6
7
8
9
<tr th:unless="${#lists.isEmpty(session.fruitList)}" th:each="fruit : ${session.fruitList}">
<td th:text="${fruit.fid}"></td>
<td th:text="${fruit.fname}"></td>
<td th:text="${fruit.price}"></td>
<td th:text="${fruit.fcount}"></td>
<td th:text="${fruit.remark}"></td>
<td></td>
<td>删除</td>
</tr>

超链接问题

  • 使用此方法插入超链接,但是超链接无法显示
1
<td th:text="${fruit.fname}"><a href="Details"></a></td>

解决:

1
<td ><a th:text="${fruit.fname}" href="/detail"></a></td>
  • 此方法访问的路径为,并不在我们想要的水果的子目录下面

image-20220404164609975

解决:为了防止此情况的发生,我们使用绝对路径,并且进行设置

1
<td ><a th:text="${fruit.fname}" th:href="@{/detail.do}"></a></td>
  • 我们的超链接这样渲染时,所有的水果的详情都是对应一个地址,而不是对应的地址
1
<td ><a th:text="${fruit.fname}" th:href="@{/detail(fname=${fruit.fname})}"></a></td>

image-20220404170638784

对Thymeleaf语法不能跳转

1
<form  th:action="@{/fruit/add}" method="post">

点击此方法,并不会跳转到相应的页面

解决:在相应的servlet中并没有调用相关的Thmeleaf语法

其他

跳转疑问

1
2
3
4
<form action="/fruit.do?operate=inquire" method="get" >
<!--<input type="text" value="inquire" name="operate" hidden>-->
<input type="submit" value="查询">
</form>

当我在action中传入operate=inquire时,并且使用get方法,在地址栏中查看,竟然get方法没有将operate传输过来

image-20220407141037918

而且后端,竟然收到一个空字符串。。。。

image-20220407141135512

但是如果使用post方法进行传输的时候,将operate传输过来了,而且后端可以接受到

image-20220407141257253

image-20220407141350707

奇怪的是,get方法是不安全的,值会在其中展现出来,但是这里get方法却将后面的数据吃掉了,这个长度也远远达不到get的长度限制??

先插眼!!!

改用这个方法进行传参,可以避免上述错误,但是还是没有清楚错误在哪里???

1
2
3
4
<form action="/fruit.do?" method="post" >
<input type="text" value="inquire" name="operate" hidden>
<input type="submit" value="查询">
</form>