无保护措施的睡许小言
2018-05-17 03:55
采纳率: 52.9%
浏览 9.4k
已采纳

SpringMVC中的model是什么?下面这段代码中有用到model吗?求大神指点

@Controller
@RequestMapping("/vv1")
public class Controller2 {

@ResponseBody
@RequestMapping("/aa")
public String aa(Users user) {
    System.out.println("GGG");
    return "HH";
}

}
我是不得已才来问的,因为我知道,网上能查到的东西,就没必要麻烦各位,但是我真的没查到spring中的model概念是什么,现实当中开发都是按照上面这段代码这种开发的,根本不存在controller中有Model这个类型的参数,难道说springmvc中的model这个概念,是很多年以前的????我从接触springmvc到现在,至今都没遇见过网上那些,再controller中有model参数的情况,所以请问各位大神,model到底是个啥??

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

19条回答 默认 最新

  • 小菜鸟-1995 2018-05-17 04:22
    已采纳

    model是一种概念,而不是一种具体的参数或是其他的具体的体现,MVC是软件工程中一种常用的规范的设计模式,model(模型层)-view(视图层)-controller(控制层)
    简单来说,模型包括了你的数据模型(pojo或bean之类的东西)和业务模型(比如登陆,注册操作等),而controller层就是将你的model层能在view中表示出来,
    假设你写的public String aa(Users user)中调用了一个简单业务是判断传入的user是否为空"return user!=null?user.tostring():new User().tostring",一般这样的逻辑代码
    就写在业务层,controller返回的数据格式满足你自己的需求就行,符合了这种规范的就是一种MVC,好处代码好看,重用性好,松耦合等。

    点赞 8 评论
  • hu837389340 2018-05-17 04:03

    model是用来从后台封装数据到页面的,比如页面上展示一个“欢迎你,{userName}",你就可以用model封装一个userName进去,model.addAttribute("useNamer”,张三"" );页面就会显示”欢迎你,张三”

    点赞 11 评论
  • MODEL 就是你后台定的实体类,

    点赞 评论
  • xcgh 2018-05-17 05:08

    你的代码是Controller,Controller一般需要连接service,service在和model连接,也可以直接使用model

    点赞 评论
  • rr33r111 2018-05-17 05:09

    model,entity都是一样的东西,就是模型,是封装实体的类

    点赞 评论
  • qq_33473142 2018-05-17 05:35

    model就相当于一个作用域,存数据的,前台直接通过EL表达式调用数据

    点赞 评论
  • luwl56 2018-05-17 05:38

    model 就是实体类对象,和数据库对应的。有啊 user就是

    点赞 评论
  • a718089112 2018-05-17 05:49

    SpringMVC也是MVC中的一种,MVC是软件工程中一种常用的规范的设计模式,model(模型层)-view(视图层)-controller(控制层);

    针对你的例子:model:就是你抽象出来的Users模型对象,view:就是你return的HH页面,controller:就是你的 aa方法

    MVC这种模式很早就有了(Struts框架也是MVC模式)

    点赞 评论
  • 肉包尹 2018-05-17 06:08

    上面关于MVC的意思解释的差不多了,如果你一定要问SpringMVC中的Model的话,springmvc接参数的时候可以自动注入model或者modelAndView这两个类,
    @RequestMapping("/hehe")
    public ModelAndView hehe(ModelAndView modelAndView) {
    modelAndView.setViewName("hehe");
    modelAndView.addObject("key", "value");
    return modelAndView;
    }
    @RequestMapping("/aa")
    public String aa(Model model) {
    model.addAttribute("key","value");
    return "HH";
    }
    这些value你都可以在页面通过key取出来。

    点赞 评论
  • 且行路莫问蹇 2018-05-17 06:11

    model只有在前端请求有页面返回的时候用到,保存了你想要展示在页面上行的数据。这个model是只针对其返回页面的。
    在java中返回前端页面的方法上添加参数 Model model
    在方法体内用model.addAttribute("key",value);的方式添加数据
    在对应的页面用ognl规则取model中的数据,例如$key

    点赞 评论
  • qq_29438837 2018-05-17 08:09

    你的是controller层,model层在数据那一块

    点赞 评论
  • SCQshine 2018-05-17 08:39

    控制器,还有view视图层,以及controller控制层

    点赞 评论
  • 一抹蓝2 2018-05-17 09:05

    哎呀 model 就是和 request 一样的用法 model.addAttribute("pageInfo", pageInfo); 或者你问的不是这个 那就是 model 层 就是实体层...

    点赞 评论
  • weixin_42011066 2018-05-17 09:17

    @RequestMapping("/vv1")

    点赞 评论
  • 没想到取啥名 2018-05-17 09:23

    model简而言之就是模型,和数据相对应的实体类,有的放在domain,有的放在entity包下

    点赞 评论
  • 古甲哈醒 2018-05-18 02:56

    springmvc处理两种请求的方式:
    1、处理ajax请求,通用用于开发接口或者ajax调用,目前比较流行的(就是你发的那一段)
    @ResponseBody
    @RequestMapping("/aa")
    public String aa(Users user) {
    System.out.println("GGG");
    return "HH";
    }
    @ResponseBody这个注解标明了这个方法返回的是一个字符串(或者json字符串),而不是一个页面view。

    2、处理页面跳转请求,就是你访问一个controller方法,controller处理完成后跳转到一个jso页面,并展示数据。(就是你希望用到的model)
    @RequestMapping("/aa")
    public ModelAndView aa(Users user) {
    System.out.println("GGG");
    ModelAndView mv = new ModelAndView();//定义一个model和view对象
    mv.addObject("entity", user);//model传递数据到页面,类似于request.setattrobute()
    mv.setViewName("user/list");//跳转的view页面地址
    return mv;
    }
    这个方法和上面的方法不同的是,少了@ResponseBody,添加了返回ModelAndView对象,即把model数据返回到制定的页面视图。

    点赞 评论
  • qq_41542745 2018-05-18 09:16

    model简而言之就是模型,和数据相对应的实体类,有的放在domain,有的放在entity包下

    点赞 评论
  • qq_41604663 2018-05-21 06:17

    Model理解为实体类,就是你要操作的实体。User user就是实体类。

    点赞 评论
  • u010009709 2018-05-23 09:01

    作用域,等request域,reponse域,可以看一下

    点赞 评论

相关推荐 更多相似问题