package com.demo.web.controllers;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.demo.web.models.AccountModel;
@Controller
@RequestMapping(value = "/databind")
@SessionAttributes(value = "sessionaccountmodel")
public class DataBindController {
@RequestMapping(value="/parambind", method = {RequestMethod.GET})
public ModelAndView paramBind(){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("parambind");
return modelAndView;
}
@RequestMapping(value="/parambind", method = {RequestMethod.POST})
public ModelAndView paramBind(HttpServletRequest request, @RequestParam("urlParam") String urlParam, @RequestParam("formParam") String formParam, @RequestParam("formFile") MultipartFile formFile){
//如果不用注解自动绑定,我们还可以像下面一样手动获取数据
String urlParam1 = ServletRequestUtils.getStringParameter(request, "urlParam", null);
String formParam1 = ServletRequestUtils.getStringParameter(request, "formParam", null);
MultipartFile formFile1 = ((MultipartHttpServletRequest) request).getFile("formFile");
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("urlParam", urlParam);
modelAndView.addObject("formParam", formParam);
modelAndView.addObject("formFileName", formFile.getOriginalFilename());
modelAndView.addObject("urlParam1", urlParam1);
modelAndView.addObject("formParam1", formParam1);
modelAndView.addObject("formFileName1", formFile1.getOriginalFilename());
modelAndView.setViewName("parambindresult");
return modelAndView;
}
@RequestMapping(value="/modelautobind", method = {RequestMethod.GET})
public String modelAutoBind(HttpServletRequest request, Model model){
model.addAttribute("accountmodel", new AccountModel());
return "modelautobind";
}
/*@RequestMapping(value="/modelautobind", method = {RequestMethod.POST})
public String modelAutoBind(HttpServletRequest request, Model model, AccountModel accountModel){
model.addAttribute("accountmodel", accountModel);
return "modelautobindresult";
}*/
@RequestMapping(value="/modelautobind", method = {RequestMethod.POST})
public String modelAutoBind(HttpServletRequest request, @ModelAttribute("accountmodel") AccountModel accountModel){
return "modelautobindresult";
}
//@CookieValue Test
@RequestMapping(value="/cookiebind", method = {RequestMethod.GET})
public String cookieBind(HttpServletRequest request, Model model, @CookieValue(value="JSESSIONID", defaultValue="") String jsessionId){
model.addAttribute("jsessionId", jsessionId);
return "cookiebindresult";
}
//@RequestHeader Test
@RequestMapping(value="/requestheaderbind", method = {RequestMethod.GET})
public String requestHeaderBind(HttpServletRequest request, Model model, @RequestHeader(value="User-Agent", defaultValue="") String userAgent){
model.addAttribute("userAgent", userAgent);
return "requestheaderbindresult";
}
//@SessionAttributes Test
@ModelAttribute("sessionaccountmodel")
public AccountModel initAccountModel(){
return new AccountModel();
}
@RequestMapping(value="/usernamebind", method = {RequestMethod.GET})
public String userNameBind( Model model, AccountModel accountModel){
model.addAttribute("sessionaccountmodel", new AccountModel());
return "usernamebind";
}
@RequestMapping(value="/usernamebind", method = {RequestMethod.POST})
public String userNameBindPost( @ModelAttribute("sessionaccountmodel") AccountModel accountModel){
//重定向到密码绑定测试
return "redirect:passwordbind";
}
@RequestMapping(value="/passwordbind", method = {RequestMethod.GET})
public String passwordBind(@ModelAttribute("sessionaccountmodel") AccountModel accountModel){
return "passwordbind";
}
@RequestMapping(value="/passwordbind", method = {RequestMethod.POST})
public String passwordBindPost(@ModelAttribute("sessionaccountmodel") AccountModel accountModel, SessionStatus status){
//销毁@SessionAttributes中value指定名称的数据
status.setComplete();
//显示绑定结果
return "sessionmodelbindresult";
}
//@RequestBody Test
@RequestMapping(value="/requestbodybind", method = {RequestMethod.GET})
public String requestBodyBind(Model model){
model.addAttribute("accountmodel", new AccountModel());
return "requestbodybind";
}
@RequestMapping(value="/requestbodybind", method = {RequestMethod.POST})
public @ResponseBody AccountModel requestBodyBind(@RequestBody AccountModel accountModel){
return accountModel;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SpringMVC入门很简单之实现注解式权限验证 (125个子文件)
DataBindController.class 6KB
GlobalController.class 3KB
HelloWorldController.class 2KB
ValidateController.class 2KB
FormatController.class 1KB
AuthInterceptor.class 1KB
ValidateModel.class 1KB
DbFormat.class 1KB
FormatModel.class 1KB
AccountModel.class 849B
AccountController.class 707B
AuthPassport.class 533B
spring-context-3.2.5.RELEASE-javadoc.jar 2.06MB
spring-web-3.2.5.RELEASE-javadoc.jar 1.52MB
spring-webmvc-3.2.5.RELEASE-javadoc.jar 1.49MB
spring-beans-3.2.5.RELEASE-javadoc.jar 1.24MB
spring-jdbc-3.2.5.RELEASE-javadoc.jar 1.04MB
spring-core-3.2.5.RELEASE-javadoc.jar 1MB
spring-test-3.2.5.RELEASE-javadoc.jar 884KB
spring-context-3.2.5.RELEASE-sources.jar 852KB
spring-core-3.2.5.RELEASE.jar 850KB
spring-context-3.2.5.RELEASE.jar 845KB
spring-tx-3.2.5.RELEASE-javadoc.jar 768KB
spring-aop-3.2.5.RELEASE-javadoc.jar 768KB
jackson-mapper-asl-1.9.13.jar 762KB
spring-orm-3.2.5.RELEASE-javadoc.jar 746KB
spring-webmvc-3.2.5.RELEASE-sources.jar 633KB
spring-webmvc-3.2.5.RELEASE.jar 622KB
spring-web-3.2.5.RELEASE-sources.jar 617KB
spring-web-3.2.5.RELEASE.jar 613KB
spring-beans-3.2.5.RELEASE.jar 596KB
joda-time-2.3.jar 568KB
spring-beans-3.2.5.RELEASE-sources.jar 537KB
spring-webmvc-portlet-3.2.5.RELEASE-javadoc.jar 475KB
spring-core-3.2.5.RELEASE-sources.jar 466KB
hibernate-validator-4.3.1.Final.jar 466KB
spring-jms-3.2.5.RELEASE-javadoc.jar 456KB
spring-test-3.2.5.RELEASE.jar 447KB
spring-jdbc-3.2.5.RELEASE-sources.jar 415KB
spring-expression-3.2.5.RELEASE-javadoc.jar 399KB
spring-jdbc-3.2.5.RELEASE.jar 396KB
standard.jar 384KB
spring-orm-3.2.5.RELEASE.jar 376KB
spring-context-support-3.2.5.RELEASE-javadoc.jar 362KB
spring-test-3.2.5.RELEASE-sources.jar 356KB
spring-orm-3.2.5.RELEASE-sources.jar 331KB
spring-aop-3.2.5.RELEASE.jar 328KB
spring-aop-3.2.5.RELEASE-sources.jar 319KB
spring-tx-3.2.5.RELEASE-sources.jar 273KB
spring-tx-3.2.5.RELEASE.jar 237KB
jackson-core-asl-1.9.13.jar 227KB
spring-jms-3.2.5.RELEASE.jar 201KB
spring-expression-3.2.5.RELEASE.jar 192KB
spring-webmvc-portlet-3.2.5.RELEASE-sources.jar 190KB
spring-webmvc-portlet-3.2.5.RELEASE.jar 184KB
commons-io-2.4.jar 181KB
spring-oxm-3.2.5.RELEASE-javadoc.jar 179KB
spring-jms-3.2.5.RELEASE-sources.jar 178KB
spring-expression-3.2.5.RELEASE-sources.jar 157KB
spring-context-support-3.2.5.RELEASE-sources.jar 131KB
spring-context-support-3.2.5.RELEASE.jar 125KB
spring-struts-3.2.5.RELEASE-javadoc.jar 115KB
spring-oxm-3.2.5.RELEASE.jar 73KB
spring-build-src-3.2.5.RELEASE.jar 71KB
spring-aspects-3.2.5.RELEASE-javadoc.jar 70KB
commons-fileupload-1.3.1.jar 67KB
commons-logging-1.1.3.jar 61KB
jboss-logging-3.1.0.CR2.jar 59KB
spring-oxm-3.2.5.RELEASE-sources.jar 58KB
spring-aspects-3.2.5.RELEASE.jar 50KB
validation-api-1.0.0.GA.jar 46KB
spring-instrument-tomcat-3.2.5.RELEASE-javadoc.jar 45KB
spring-struts-3.2.5.RELEASE-sources.jar 40KB
spring-struts-3.2.5.RELEASE.jar 35KB
spring-instrument-3.2.5.RELEASE-javadoc.jar 32KB
spring-aspects-3.2.5.RELEASE-sources.jar 30KB
jstl.jar 20KB
spring-instrument-tomcat-3.2.5.RELEASE.jar 10KB
spring-instrument-3.2.5.RELEASE.jar 7KB
spring-instrument-tomcat-3.2.5.RELEASE-sources.jar 5KB
spring-instrument-3.2.5.RELEASE-sources.jar 2KB
DataBindController.java 5KB
GlobalController.java 3KB
HelloWorldController.java 2KB
AuthInterceptor.java 1KB
ValidateController.java 1KB
DbFormat.java 874B
FormatController.java 844B
ValidateModel.java 773B
FormatModel.java 606B
AccountModel.java 541B
AuthPassport.java 425B
AccountController.java 409B
requestbodybind.jsp 1KB
validatetest.jsp 862B
globaltest.jsp 860B
modelautobind.jsp 631B
passwordbind.jsp 589B
usernamebind.jsp 588B
formattest.jsp 572B
共 125 条
- 1
- 2
资源评论
- yushuaiw2015-06-28很不错适合初及学习的人!
- 光亮的程序猿2015-10-28不错, 谢谢分享
- fengerpiao1232018-02-10受用,谢谢分享
- 狼哥0072015-09-30很不错适合初及学习的人!
miracle_yao
- 粉丝: 6
- 资源: 31
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功