首页 > 其他分享 >Spring MVC3: Controller接受Form数据

Spring MVC3: Controller接受Form数据

时间:2023-03-20 18:36:13浏览次数:39  
标签:name Form MVC3 Spring ModelAttribute user ModelAndView saveObject view


Spring MVC3: Controller接受Form数据

<form action="./saveIntoDatabase.do" method="post" name="saveIntoDatabase">
<input name="name" type="text">
<input name="password" type="text">
<input type="submit" value="Submit">
</form><br>

<form action="./saveObject.do" method="post" name="saveObject">
<input name="name" type="text">
<input name="password" type="text">
<input type="submit" value="Submit">
</form><br>



Controller:


@RequestMapping(value="/saveIntoDatabase.do")
public ModelAndView saveIntoDB(@RequestParam("name")String name,@RequestParam("password")String password){

ModelAndView view = new ModelAndView("helloWord");
view.addObject("message", "saveIntoDB. name="+name);
return view;
}
//A
@RequestMapping(value="/saveObject.do", method=RequestMethod.POST)
public ModelAndView saveObject(@ModelAttribute("user")User user){

ModelAndView view = new ModelAndView("helloWord");
view.addObject("message", "saveObject. name1="+user.getName());
return view;
}
//B
@RequestMapping(value="/saveObject.do", method=RequestMethod.POST)
public ModelAndView saveObject(@ModelAttribute("user1")User user2){

ModelAndView view = new ModelAndView("helloWord");
view.addObject("message", "saveObject. name1="+user2.getName());
return view;
}
//C
@RequestMapping(value="/saveObject.do", method=RequestMethod.POST)
public ModelAndView saveObject(@ModelAttribute User user){

ModelAndView view = new ModelAndView("helloWord");
view.addObject("message", "saveObject. name1="+user.getName());
return view;
}

public String doCreate(@Valid @ModelAttribute("appForm") CreateAppForm appForm,
BindingResult result, ...) {
...
}


参考:


@RequestParam:只针对单个参数。


@ModelAttribute:适用于对象赋值。@ModelAttribute("user1")里面的字符串好像没什么要求?user2就是一个pojo,属性跟form里面控件的name对应。


A,B,C处都不会影响user的属性值,搞不明白,知道的可以告诉我,谢谢。


@ModelAttribute 声明在属性上,表示该属性的value 来源于model 里"queryBean" ,并被保存到model 里@ModelAttribute 声明在方法上,表示该方法的返回值被保存到model里。


其中的@ModelAttribute和BindingResult 中间不能有其它参数,否则会出现如下错误:


Errors/BindingResult argument declared without preceding model attribute. Check your handler method signature!


标签:name,Form,MVC3,Spring,ModelAttribute,user,ModelAndView,saveObject,view
From: https://blog.51cto.com/u_3871599/6138466

相关文章

  • spring-servlet.xml
    WEB-INF目录下面建一个ascweb-servlet.xml文件,其实这个文件的命名就是Web.xml中servlet-name的名字加-servlet.xml.其文件内容如下:<?xmlversion="......
  • Spring容器加载完之后执行特定任务
    有两个服务器类,需要SpringContext在InitAfterSpringContextService之前初始化:1、SpringContextspring容器的上线文环境packagecom.cdelabcare.pubservice;importorg.sp......
  • Spring MVC防重复提交
    如何在SpringMVC里面解决此问题(其它框架也一样,逻辑一样,思想一样,和具体框架没什么关系)。要解决重复提交,有很多办法,比如说在提交完成后redirect一下,也可以用本文提到的使用to......
  • Springboot项目密码加密器jasypt
    最新版依赖<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.5</version></dependenc......
  • spring工具类
    spring工具类获取bean编写packagecom.cloudiip.security.utils;importorg.springframework.stereotype.Component;importorg.springframework.context.Applicatio......
  • org.springframework.core.metrics.ApplicationStartup
    日志Exceptioninthread"main"java.lang.NoClassDefFoundError:org/springframework/core/metrics/ApplicationStartup atorg.springframework.boot.SpringApplicat......
  • Spring@Transactional事务失效的场景
    ①未启用事务管理功能②事务方法所在类未被加载成Bean③事务方法不是public类型④事务方法被final修饰⑤事务方法被同类的方法调用⑥多线程调用⑦手动trycatch了异......
  • SpringBoot
    一、SpringBoot的入门SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程spring优化SpringBoot配置繁琐==>自......
  • What is .NET MAUI? —— a cross-platform framework for creating native mobile a
    https://learn.microsoft.com/en-us/dotnet/maui/what-is-maui?view=net-maui-7.0 .NETMulti-platformAppUI(.NETMAUI)isacross-platformframeworkforcreati......
  • SpringBoot 2.6.0 以上 @Autowired 没有解决循环依赖
    使用@Autowired,仍在提示循环依赖,提示:Asalastresort,itmaybepossibletobreakthecycleautomaticallybysettingspring.main.allow-circular-referencesto......