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入门很简单之数据验证 (101个子文件)
DataBindController.class 6KB
HelloWorldController.class 2KB
ValidateController.class 2KB
ValidateModel.class 1KB
AccountModel.class 849B
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
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
HelloWorldController.java 2KB
ValidateController.java 1KB
ValidateModel.java 773B
AccountModel.java 541B
requestbodybind.jsp 1KB
validatetest.jsp 862B
modelautobind.jsp 631B
passwordbind.jsp 589B
usernamebind.jsp 588B
parambind.jsp 568B
parambindresult.jsp 541B
sessionmodelbindresult.jsp 432B
modelautobindresult.jsp 418B
validatesuccess.jsp 356B
regurltest.jsp 355B
cookiebindresult.jsp 354B
requestheaderbindresult.jsp 353B
paramstest.jsp 352B
index.jsp 351B
urltest.jsp 349B
detail.jsp 346B
MANIFEST.MF 39B
validatemessages.properties 254B
validatemessages.properties 254B
springservlet-config.xml 4KB
springservlet-config.xml 4KB
共 101 条
- 1
- 2
资源评论
miracle_yao
- 粉丝: 6
- 资源: 31
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功