3 回答
TA贡献1853条经验 获得超6个赞
如果你的personList为空,那么你就不能调用personList.get()它。您应该检查索引是否updateId小于personList大小。
@RequestMapping("/update")
public String Update(@RequestParam(value = "this") int updateId,Model model,String newName,String newSurname,String newCountry) {
model.addAttribute("id",updateId);
if (updateId < personList.size()) {
model.addAttribute("name",personList.get(updateId).getName());
model.addAttribute("surname",personList.get(updateId).getSurname());
model.addAttribute("country",personList.get(updateId).getCountry());
// ...
}
我还经常喜欢做的是使用保护子句:
@RequestMapping("/update")
public String Update(@RequestParam(value = "this") int updateId,Model model,String newName,String newSurname,String newCountry) {
model.addAttribute("id",updateId);
if (updateId >= personList.size()) {
throw new EntityNotFoundException();
}
// ...
updateId如果您确定带有索引的元素肯定应该在那里,那么您可能也没有正确初始化或加载 personList 。
TA贡献1865条经验 获得超7个赞
错误提示,列表中没有数据。但是您尝试从空列表中获取数据。
model.addAttribute("name",personList.get(updateId).getName()); model.addAttribute("surname",personList.get(updateId).getSurname()); model.addAttribute("country",personList.get(updateId).getCountry());
请检查您的 personList
.
TA贡献1943条经验 获得超7个赞
错误消息清楚地显示,您正在访问Index: 0列表中的元素 Size: 0。您可以在开始时添加 null 检查以避免这种情况,
if (null != personList && ! personList.isEmpty()) {
//rest of code
}
添加回答
举报