Spring mvc 的controller
来源:互联网 发布:adobe muse for mac 编辑:程序博客网 时间:2024/05/09 10:48
package com.yuanhongfei.controller;import java.util.List;import javax.annotation.Resource;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.servlet.ModelAndView;import com.yuanhongfei.entity.UserInfo;import com.yuanhongfei.service.UserInfoService;/*** * '@Controller' 为 使用spring mvc方式而不使用struts来编写MVC思想中的Controller层。 * '@Controller' 的类 spring会自动扫描并注册,并且作为控制器(靠springmvc-context.xml中配置<annotation-driven />来扫描这种类) * * 作为Controller的类的其中面向页面请的的方法中的参数有很多,且都是可选参数,可根据需要来选择,有: * 1.@PathVariable String id 为 如果 '@RequestMapping'的value写的是 /{id}/{name} 等 此写法可以直接获取传过来的{id}的值并赋给id * 2.@ModelAttribute("entity") Entity entity 将页面传入的参数自动封装到Entity类中,需页面的表单name与类中的属性名一致 * 3.HttpServletRequest request, HttpServletResponse response 获取request和response * 4.@RequestParam("a") String a 可以单个接受页面的参数a * 5. Model model 可以model可以将一些对象进行addAttribute操作,然后到页面可以获取这些对象。 * * @author HOFEY *//**在做添加和修改时候,应该先跳转到添加或修改的页面 * (也就是说先写跳转的controller,而修改的时候应该获取原来实体的id,然后调用根据id查询实体的service方法,将实体属性信息显示到更新页面,提交的时候也是用add方法) * user controller * @author HOFEY * */@Controller@RequestMapping("user")//如果 controller中用到@RequestMapping("user"),那么要访问此controller就必须在路径中加上userpublic class UserController {//@Autowired@Resource//@Autowird自动注入默认按类型注入,推荐使用@Resource按名称注入private UserInfoService userService;public UserInfoService getUserService() {return userService;}public void setUserService(UserInfoService userService) {this.userService = userService;}@RequestMapping(value="/list",method=RequestMethod.GET)public String queryAllUserInfo(Model model){List<UserInfo> userinfoList = userService.queryAllUserInfo();model.addAttribute("userinfolist", userinfoList);return "userInfoList";}/** * 跳转到添加页面 * @return */@RequestMapping(value="/toAddUserPage")public String toAddUserPage(){return "addUserPage";}/** * * 添加controller * @param userinfo * @return */@RequestMapping(value="/addUser",method=RequestMethod.POST)//@ModelAttribute("entity") Entity entity 将页面传入的参数自动封装到Entity类中,需页面的表单name与类中的属性名一致public ModelAndView addUser(@ModelAttribute("userinfo") UserInfo userinfo){userService.addUser(userinfo);return new ModelAndView("redirect:/user/list");//让跳转到list界面直接显示 而不是跳到成功页面 重定向 redirect:/user/list}/** * * 跳转到更新用户信息页面 * controller */@RequestMapping(value="/{id}")/** * * @param id * @RequestParam("id") String id 获取页面传过来的值 * @param Model model 可以model可以将一些对象进行addAttribute操作,然后到页面可以获取这些对象 * @return */public String toUpdateUserPage(@PathVariable String id,Model model){UserInfo userInfo = userService.queryUserById(id);model.addAttribute("userInfo", userInfo);return "updateUserPage";}/** * * @PathVariable String id 参数获取方法 * @RequestMapping(value="/{id}") * public String toUpdateUserPage(@PathVariable String id,Model model){System.out.println("跳转到更新页面上的参数值是"+id);UserInfo userInfo = userService.queryUserById(id);model.addAttribute("userInfo", userInfo);System.out.println("跳转到更新页面获取到的性别是"+userInfo.getSex());return "updateUserPage";} * @RequestParam("id") String id 参数获取方法@RequestMapping(value="toUpdateUserPage")public String toUpdateUserPage(@RequestParam("id") String id,Model model){UserInfo userInfo = userService.queryUserById(id);model.addAttribute("userInfo", userInfo);System.out.println("跳转到更新页面获取到的性别是"+userInfo.getSex());return "updateUserPage";}*//** * 更新用户信息Controller * */@RequestMapping(value="updateUser", method=RequestMethod.POST)public String updateUser(@ModelAttribute("userinfo") UserInfo userinfo){if(userinfo.getId()!=null){userService.addUser(userinfo);//重定向到list页面return "redirect:/user/list";}elsereturn "error";}/** * 删除用户 * @param userInfo * @return */@RequestMapping("deleteUser")public String deleteUser(UserInfo userInfo){userService.deleteUser(userInfo);return "redirect:/user/list";}}
0 0
- spring mvc的Controller
- Spring mvc 的controller
- spring mvc的controller国际化
- spring mvc 的Controller类是单例?
- spring mvc 的Controller类是单例?
- spring mvc的Controller ( 不断补充)
- spring mvc的Controller ( 不断补充)
- spring mvc中常用的几个controller
- spring mvc中常见的几个controller
- Spring MVC 注解下Controller 的AOP
- Spring MVC 中的基于注解的 Controller
- Spring MVC 中的基于注解的 Controller
- Spring MVC中基于注解的Controller
- Spring MVC 中的基于注解的 Controller
- Spring MVC 中的基于注解的 Controller
- Spring MVC 中的基于注解的 Controller
- Spring MVC 中的基于注解的 Controller
- Spring MVC 中的基于注解的 Controller
- SF菜鸟笔记【Ajex调用Salesforce API】
- 自定义对话框
- mWebView拖动出现黑快、黑屏问题处理(兼容2.X版本)
- 商毅:泰达缺国安式稳定 客场没赢球能力只能反击
- UVa 437 - The Tower of Babylon
- Spring mvc 的controller
- Spring管理filter和servlet
- 国内各地图API坐标系统比较与转换
- 免责声明
- UML建模之状态图
- git相关使用
- 微软溢出防护功能介绍
- php 操作数组 (合并,拆分,追加,查找,删除等)
- GCD(Grand Central Dispatch)