今天分享個小問題,也是今天在專案中遇到的,希望對遇到相關問題的朋友有所幫助。
使用工具:(相關的)
mybatis,spring-mvc,mysql
問題原因:
我在mybatis的mapper檔案中有如下配置:
<select id="doupdateState">
update tms_projects
set valid=#{valid}
where id in
<foreach collection="#{ids}" open="("
close=")" separator="," item="item">
#{item}
</foreach>
</select>
在console中的錯誤提示資訊是:
404,定義頁面未找到
檢查過程:
然後我仔細檢查了我的Contorller中的程式碼:
@RequestMapping("dopageStartObject")
@ResponseBody
public JsonResult dopageStartObject(
Integer valid, String checkedids) {
service.doValidById(valid, checkedids);
return new JsonResult("ok");
}
當讓在當前bean上我也寫了@RequestMapping("/project/")
我訪問路徑為:
$.post("project/doFindObjects.do",params,function(result){});
最終結果:
雖然很痛苦,單經過2小時我還是把問題糾正出來了。給到我的錯誤提示資訊404是具有誤導性的。是由於我的Mapper中的<foreach collection="#{ids}" 引發的。
由於#{ids} 並沒有取到具體指而引發的。將其改為ids就OK了~~~
希望對遇到類似問題的朋友能有所幫助吧~
PS:如果在系統給出的錯誤提示中確定沒有問題,就要對其他問題進行大膽猜測哦~(提示是會騙人滴~)