今天分享個小問題,也是今天在專案中遇到的,希望對遇到相關問題的朋友有所幫助。

使用工具:(相關的)

  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:如果在系統給出的錯誤提示中確定沒有問題,就要對其他問題進行大膽猜測哦~(提示是會騙人滴~)