一般这种情况下,后端的代码应该没什么逻辑错误,这个时候只需要好好查看,修改一下前端静态页面就可以了!
以上是我出现的情况:
这个是我的html代码
<div class="container">
<form action="/updateTypes" method="post">
<div class="row">
<div class="col-sm-12">
<h4 class="page-title">修改分类</h4>
</div>
<dl>
<dd>
<label>分类名:</label>
<input type="text" name="tname" class="inputh lf" th:value="${type.tname}" />
</dd>
<dd class="hegas">
<input type="submit" value="保 存" class="am-btn am-btn-primary am-radius" style="width: 80px; margin-right: 50px"/>
<input type="reset" value="取 消" onclick="location='/queryAllTypes'" class="am-btn am-btn-default am-radius" style="width: 80px"/>
</dd>
</dl>
</div>
</form>
</div>
所有的代码都没有出现错误,但提交之后数据库却没有任何改变,但也没有报错,仔细一看才发现我少了一行代码,就是下面这一行
<dd > <input type="hidden" name="tid" th:value="${type.tid}" /> </dd>
其原理是通过id去修改分类,但我的HTML里面却少了最关键的id,也就是就算我提交要修改的数据到后端,却无法通过id寻找到要修改的目标数据,因此就修改不了数据库的数据。
所以在添加上其id之后,后端就能根据其id找到目标数据去修改了。
<div class="row">
<div class="col-sm-12">
<h4 class="page-title">修改分类</h4>
</div>
<dl>
<dd >
<input type="hidden" name="tid" th:value="${type.tid}" />
</dd>
<dd>
<label>分类名:</label>
<input type="text" name="tname" class="inputh lf" th:value="${type.tname}" />
</dd>
<dd class="hegas">
<input type="submit" value="保 存" class="am-btn am-btn-primary am-radius" style="width: 80px; margin-right: 50px"/>
<input type="reset" value="取 消" onclick="location='/queryAllTypes'" class="am-btn am-btn-default am-radius" style="width: 80px"/>
</dd>
</dl>
</div>
做了以上修改就能正确修改了!最后,还是要告诫自己,以后还是要仔细细心。