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入门很简单之数据绑定(下).zip (90个子文件)
WebContent
WEB-INF
views
parambindresult.jsp 541B
paramstest.jsp 352B
parambind.jsp 568B
modelautobindresult.jsp 418B
urltest.jsp 349B
index.jsp 351B
requestheaderbindresult.jsp 353B
regurltest.jsp 355B
usernamebind.jsp 588B
modelautobind.jsp 631B
requestbodybind.jsp 1KB
passwordbind.jsp 589B
sessionmodelbindresult.jsp 432B
detail.jsp 346B
cookiebindresult.jsp 354B
lib
spring-expression-3.2.5.RELEASE-sources.jar 157KB
spring-instrument-3.2.5.RELEASE-javadoc.jar 32KB
spring-tx-3.2.5.RELEASE.jar 237KB
spring-oxm-3.2.5.RELEASE.jar 73KB
spring-orm-3.2.5.RELEASE-javadoc.jar 746KB
spring-instrument-tomcat-3.2.5.RELEASE-sources.jar 5KB
spring-jms-3.2.5.RELEASE-sources.jar 178KB
spring-beans-3.2.5.RELEASE-javadoc.jar 1.24MB
spring-aspects-3.2.5.RELEASE-sources.jar 30KB
spring-expression-3.2.5.RELEASE-javadoc.jar 399KB
commons-fileupload-1.3.1.jar 67KB
jackson-mapper-asl-1.9.13.jar 762KB
spring-aspects-3.2.5.RELEASE.jar 50KB
spring-webmvc-3.2.5.RELEASE.jar 622KB
spring-jdbc-3.2.5.RELEASE.jar 396KB
spring-beans-3.2.5.RELEASE-sources.jar 537KB
spring-web-3.2.5.RELEASE-sources.jar 617KB
spring-webmvc-portlet-3.2.5.RELEASE.jar 184KB
spring-expression-3.2.5.RELEASE.jar 192KB
spring-build-src-3.2.5.RELEASE.jar 71KB
spring-webmvc-portlet-3.2.5.RELEASE-sources.jar 190KB
spring-test-3.2.5.RELEASE.jar 447KB
spring-oxm-3.2.5.RELEASE-javadoc.jar 179KB
jstl.jar 20KB
spring-context-3.2.5.RELEASE-sources.jar 852KB
spring-aspects-3.2.5.RELEASE-javadoc.jar 70KB
spring-oxm-3.2.5.RELEASE-sources.jar 58KB
spring-jms-3.2.5.RELEASE.jar 201KB
spring-context-3.2.5.RELEASE-javadoc.jar 2.06MB
spring-aop-3.2.5.RELEASE.jar 328KB
spring-webmvc-portlet-3.2.5.RELEASE-javadoc.jar 475KB
spring-instrument-tomcat-3.2.5.RELEASE-javadoc.jar 45KB
spring-jdbc-3.2.5.RELEASE-javadoc.jar 1.04MB
spring-struts-3.2.5.RELEASE-javadoc.jar 115KB
spring-test-3.2.5.RELEASE-javadoc.jar 884KB
spring-orm-3.2.5.RELEASE.jar 376KB
spring-context-support-3.2.5.RELEASE.jar 125KB
spring-webmvc-3.2.5.RELEASE-sources.jar 633KB
spring-core-3.2.5.RELEASE-javadoc.jar 1MB
jackson-core-asl-1.9.13.jar 227KB
spring-core-3.2.5.RELEASE.jar 850KB
spring-core-3.2.5.RELEASE-sources.jar 466KB
spring-context-support-3.2.5.RELEASE-sources.jar 131KB
spring-tx-3.2.5.RELEASE-javadoc.jar 768KB
spring-webmvc-3.2.5.RELEASE-javadoc.jar 1.49MB
spring-instrument-tomcat-3.2.5.RELEASE.jar 10KB
spring-context-3.2.5.RELEASE.jar 845KB
spring-web-3.2.5.RELEASE.jar 613KB
spring-test-3.2.5.RELEASE-sources.jar 356KB
spring-instrument-3.2.5.RELEASE-sources.jar 2KB
spring-struts-3.2.5.RELEASE-sources.jar 40KB
spring-web-3.2.5.RELEASE-javadoc.jar 1.52MB
spring-aop-3.2.5.RELEASE-sources.jar 319KB
commons-logging-1.1.3.jar 61KB
spring-jms-3.2.5.RELEASE-javadoc.jar 456KB
spring-beans-3.2.5.RELEASE.jar 596KB
standard.jar 384KB
spring-context-support-3.2.5.RELEASE-javadoc.jar 362KB
commons-io-2.4.jar 181KB
spring-tx-3.2.5.RELEASE-sources.jar 273KB
spring-struts-3.2.5.RELEASE.jar 35KB
spring-instrument-3.2.5.RELEASE.jar 7KB
spring-orm-3.2.5.RELEASE-sources.jar 331KB
spring-jdbc-3.2.5.RELEASE-sources.jar 415KB
spring-aop-3.2.5.RELEASE-javadoc.jar 768KB
web.xml 1KB
META-INF
MANIFEST.MF 39B
src
web
com
demo
web
models
AccountModel.java 541B
controllers
HelloWorldController.java 2KB
DataBindController.java 5KB
build
classes
springservlet-config.xml 3KB
com
demo
web
models
AccountModel.class 849B
controllers
DataBindController.class 6KB
HelloWorldController.class 2KB
resources
springservlet-config.xml 3KB
共 90 条
- 1
资源评论
miracle_yao
- 粉丝: 6
- 资源: 31
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 超声波测距实验_单片机C语言实例(纯C语言源代码).zip
- MTSP的求解程序代码.zip
- rust 编译原理.pdf
- 基于STM32 NUCLEO板设计彩色LED照明灯(纯cubeMX开发).zip
- [新闻文章]多讯文章管理系统 v2.5_dxnews25.rar
- [信息办公]电信计费系统完整代码_netctossconformity.rar
- 用有参函数控制P0口8位LED流水速度_单片机C语言实例(纯C语言源代码).zip
- [其他类别]QQ邮箱编辑器 v1.0 (小小菜刀PHP版)_htmleditor_php.rar
- 综合分析:图像处理、机器视觉与深度学习的概念、关系及应用
- ASP外观专利图像检索平台(源代码+论文).rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功