当我在第一次运行项目加载时,将加载thanhviens.jsp。但是我添加了一个新用户,它返回到thanhviens.jsp并且没有任何数据要显示。这是一个空白页面。当我返回索引并单击/ listUser时,页面将加载我之前保存的数据。
这是我的控制器代码:
@Controller
@RequestMapping(value = "/account")
public class ThanhVienController {
@RequestMapping(value = "/ListUser", method = RequestMethod.GET)
public String getAllUser(ModelMap mm)
{
try {
List<Thanhvien> lst = ThanhVienDAO.layDS();
mm.addAttribute("listUser", lst);
} catch (Exception e) {
e.printStackTrace();
}
return "thanhviens";
}
@RequestMapping(value = "/adduser",method = RequestMethod.GET)
public String addUser(ModelMap mm)
{
mm.put("u", new Thanhvien());
return "add";
}
@RequestMapping(value = "/adduser", method = RequestMethod.POST)
public String addUser(@ModelAttribute(value = "u")Thanhvien user, ModelMap mm)
{
Integer check = null;
check = ThanhVienDAO.addUser(user);
if (check!=null) {
return "thanhviens";
}
else
{
mm.put("errMess", "Error!!");
return "add";
}
}
}
造成这种情况的原因以及如何解决?
答案 0 :(得分:0)
因为当您添加用户时,您没有设置listUser模型属性。这就是为什么它没有显示任何东西。下面的代码应该可以工作。
@RequestMapping(value = "/adduser", method = RequestMethod.POST)
public String addUser(@ModelAttribute(value = "u")Thanhvien user, ModelMap mm)
{
Integer check = null;
check = ThanhVienDAO.addUser(user);
if (check!=null) {
List<Thanhvien> lst = ThanhVienDAO.layDS();
lst.add(user);//new user
mm.addAttribute("listUser", lst);
return "thanhviens";
}
else
{
mm.put("errMess", "Error!!");
return "add";
}
}