还是在上一个项目的基础上做(SpringMVC(2)-注解开发MVC这个,这个里边已经写好了视图解析器,jsp文件等信息)
1.新建一个实体类在com.xiaoma文件夹下新建一个pojo.User的实体类,参考代码如下(注意:可以引入lombok插件来简化实体类,通过三行注解代替get,set,有参构造,无参构造等方法)
1.lombok依赖
<dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>RELEASE</version> <scope>compile</scope> </dependency> </dependencies>
package com.xiaoma.pojo; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; /** * Author:xiaoma * FileName:User * Data:2022/4/30 10:18 */ @Data @AllArgsConstructor @NoArgsConstructor public class User { private int id; private String name; private int age; }
2.编写用于测试的controller类,在com.xiaoma.controller文件夹下新建UserController类文件,代码如下(代码的含义及讲解在代码注释中)
package com.xiaoma.controller; import com.xiaoma.pojo.User; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; /** * Author:xiaoma * FileName:UserController * Data:2022/4/30 10:17 */ @Controller @RequestMapping("/u1") public class UserController { //如果前端的参数名和这里的参数名一样的话,可以直接接收,不需要加其他东西 //比如前端url为:localhost:8080/u1/t1?name=123,那么这里的name参数可以直接被后端接收 @RequestMapping("/t1") public String test1(String name, Model model){ //接收前端参数 System.out.println("接收的前端参数为:"+name); //返回给前端数据 model.addAttribute("msg","接收成功1:"+name); //视图跳转(注意:要在spring的配置文件中配置好视图解析器,否则无法进行视图跳转)这里通过视图解析器拼接的地址为/WEB-INF/jsp/test.jsp return "test"; } //如果前端的参数名和这里的参数名不一样的话,不可以直接接收,需要通过@RequestParam("前端参数名")接收 //比如前端url为:localhost:8080/u1/t1?username=123,那么这里的username参数不可以直接被后端接收 @RequestMapping("/t2") public String test2(@RequestParam("username") String name, Model model){ System.out.println("接收的前端参数为:"+name); model.addAttribute("msg","接收成功2:"+name); return "test"; } //前端接收一个对象,id,name,age,如果前端传递的参数名和实体类中的字段名一致,则可以正常接收,如果不一致,则会显示为null //前端URL如果为http://localhost:8080/u1/t3?id=1&name=马传庆&age=3,后端接收的结果为:User(id=1, name=马传庆, age=3) //前端URL如果为http://localhost:8080/u1/t3?id=1&username=马传庆&age=3,后端接收的结果为:User(id=1, name=null, age=3) @RequestMapping("/t3") public String test3(User user){ System.out.println(user); return "test"; } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。