所以我目前在春季啟動時做一個粗加工,我被困在這個我想將 null id 視為 0 的地方,我嘗試了以下版本并回傳
`java.lang.NumberFormatException: For input string: ""`
@ResponseBody
public String checkMobileEmail(HttpServletRequest req, Model model) {
String mobile = req.getParameter("mobile");
String email = req.getParameter("email");
Long id = Long.parseLong(req.getParameter("id"));
if (req.getParameter("id").equals("")) {
id = 0L;
}
System.err.println("id : " id " mobile : " mobile " email: " email);
return service.findByEmailAndMobile(email,mobile,id);
}
uj5u.com熱心網友回復:
您必須Long.parseLong(req.getParameter("id"));在 if 條件之前避免如下:
@ResponseBody
public String checkMobileEmail(HttpServletRequest req, Model model) {
String mobile = req.getParameter("mobile");
String email = req.getParameter("email");
String idParameter = req.getParameter("id");
Long id = 0L;
if (idParameter != null && !idParameter.equals("")) {
id = Long.parseLong(idParameter);
}
System.err.println("id : " id " mobile : " mobile " email: " email);
return service.findByEmailAndMobile(email,mobile,id);
}
uj5u.com熱心網友回復:
您需要檢查是否id為空或null在呼叫之前Long.parseLong或它引發例外。
Long id;
if (StringUtils.hasText(req.getParameter("id")) {
Long.parseLong(req.getParameter("id"));
} else {
id = 0L;
}
如果引數既不是空/null 也不是數字,您仍然會遇到例外。我建議捕獲例外并適當地處理它。
try {
Long.parseLong(req.getParameter("id"))
} catch(NumberFormatException e) {
// log.warn(e)
return Collections.emptyList();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/408180.html
標籤:
