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入门很简单之异常处理 (128个子文件)
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
BaseController.class 987B
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
BaseController.java 589B
AccountModel.java 541B
AuthPassport.java 425B
AccountController.java 409B
requestbodybind.jsp 1KB
validatetest.jsp 862B
globaltest.jsp 860B
modelautobind.jsp 631B
passwordbind.jsp 589B
共 128 条
- 1
- 2
资源评论
- 光亮的程序猿2015-10-22适合入门, 谢谢分享
miracle_yao
- 粉丝: 6
- 资源: 31
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 1_提高高温超导体的临界温度的方法_pdf_1629817510190_0.jpg
- Java实现计数排序算法(源代码)
- 这个 ide98 是适合老式机器上用到的一个补充文件,文件的过程代表过程的文件这个 ide98 是适合老式机器上用到的一个补充文
- 866164937784007CarLife3.0车机修改版支持无线和方控.apk
- 天津理工大学-操作系统实验3:磁盘调度算法的实现.doc
- 天津理工大学数据库期末复习试题一.doc
- 花农科技的驱动整合,ide98,这个工具可以用来修改计算机,修改后的计算机会更好用的,多合一,很好用,很实用
- 天猫电子商务案例分析-PPT.ppt
- ods.sql
- 如何做互联网市场调研.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功