// 检查登录状态....if (!isLogin) { return new ModelAndView("redirect:/login");}// 返回用户列表
在上面的代码中,/login 如果未登录,用户将被重定向到该 URL 。
10.处理表格提交和表格验证通过提供@ModelAttribute 用于将表单字段绑定到表单支持对象的注解以及BindingResult 用于验证表单字段的界面,Spring使处理表单提交变得容易 。下面的代码片段显示了一种典型的处理程序方法,该方法负责处理和验证表单数据:
@Controllerpublic class RegistrationController { @RequestMapping(value = "/doRegister", method = RequestMethod.POST) public String doRegister( @ModelAttribute("userForm") User user, BindingResult bindingResult) { if (bindingResult.hasErrors()) { // 表单验证错误 } else { // 表单输入没问题 } // 注册过程…… return "Success"; }}
从Spring的官方文档中了解有关@ModelAttribute 注释和BindingResult 接口的更多信息:
- 在方法参数上使用@ModelAttribute
- 在方法上使用@ModelAttribute
- 接口绑定结果
以下代码段显示了从客户端上传文件有多么容易
@RequestMapping(value = "/uploadFiles", method = RequestMethod.POST)public String handleFileUpload( @RequestParam CommonsMultipartFile[] fileUpload) throws Exception { for (CommonsMultipartFile aFile : fileUpload){ // 存储上传的文件 aFile.transferTo(new File(aFile.getOriginalFilename())); } return "Success";}
12.在控制器中自动装配业务类控制器应将业务逻辑的处理委托给相关的业务类 。为此,您可以使用@Autowired 注解让Spring自动将业务类的实际实现注入控制器 。考虑以下控制器类的代码段:
@Controllerpublic class UserController { @Autowired private UserDAO userDAO; public String listUser() { // 列出所有用户的处理方法 userDAO.list(); } public String saveUser(User user) { // 保存/更新用户的处理方法 userDAO.save(user); } public String deleteUser(User user) { // 删除用户的处理方法 userDAO.delete(user); } public String getUser(int userId) { // 获取用户的处理方法 userDAO.get(userId); }}
在此,与用户管理有关的所有业务逻辑都由该UserDAO 接口的实现提供。例如:interface UserDAO { List<User> list(); void save(User user); void checkLogin(User user);}
有关@Autowired 注解的更多信息,请参见 注释类型自动装配 。13.访问HttpServletRequest和HttpServletResponse在某些情况下,您需要直接 在处理程序方法中访问 HttpServletRequest 或 HttpServletResponse对象 。
通过Spring的灵活性,只需在处理方法中添加相关参数即可 。例如:
@RequestMapping("/download")public String doDownloadFile( HttpServletRequest request, HttpServletResponse response) { // 访问请求 // 访问响应 return "DownloadPage";}
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 你为什么要有一个自己的独立网站!
- MySQL 的 MRR 到底是什么?
- 静~美味鸡蛋烙饼的做法
- 发面葱香饼的做法
- 奈雪的茶宝藏茶哪个好喝 奈雪蜜桃宝藏撞撞茶好喝吗
- 罗永浩|交个朋友黄贺回应与罗永浩“分手”:没有矛盾、还会回来直播
- 婴儿房装修注意事项
- 华人在柬埔寨危险吗 柬埔寨属于哪个国家
- CVT变速器怕不怕热?高速120km/h连续行驶四五个小时会不会坏?
- 中国乐器图鉴!你了解几个?涨姿势了