springMVC Model、 ModelMap 和 ModelAndView的区别

1.ModelAndView的用法 个人认为它不能直接放在方法的参数中,而是需要在方法中通过new来创建。如下所示

可以在方法中直接

ModelAndView  mv = new ModelAndView  () ;

将页面需要获取的值放入mv中 。直接return mv    指向那个页面,通过  类名上的注解名称/ 方法上的注解的名称,找到对应的页面。

它找页面是通过类上的注解名 和  该方法的上的注解名  两者拼接找页面


2.Model  的用法。。他不需要new 直接放在方法的参数中。 个人认为ModelMap跟model的用法一模一样。不需要new直接放在方法的参数中 如

 Model    和    ModelMap       是通过return的值去找页面。如:    return "home/login"   直接去找home下的login这个页面

public String createOrder(
@RequestParam(value = "productInfoId", required = true) String proId,
@RequestParam(value = "buyNum", required = true) Integer buyNum,Model model){

            return "home/login" ;


          //return "redirect:../account/banks";    页面跳转

           

}


如果上面2中 return null  也就是为null   springmvc也会帮我们找页面。也是通过 类上的注解名 和  该方法的上的注解名  两者拼接找页面



我们把需要的值全部放入model中。页面根据返回的字符串去找对应的页面。这样可以选在自己想要返回的页面。。

就会从webapp/home下面 找login开头的页面。


modelandview
import org.springframework.web.servlet.ModelAndView (正确应该引入这个) 
improt org.springframework.web.portlet.ModelAndView (这个是错误的)


2014.11.25

异步请求到springmvc 的controller 中

因为Model是直接放在方法的参数中,我们不需要去new ,我们把我们需要的值直接 model.addAttribute("flag", 1);我们不需要去return model 直接在页面通过EL表达式就可以获取。这种适用于值放在jsp页面中

第二方式,@RequestMapping(value = "/getuserinfo")
    public @ResponseBody ModelMap getUser(
            @RequestParam(value = "entId", required = true) String entId) {}  这里我们使用的是返回ModelMap对象,

    ModelMap map = new ModelMap();

    map.addAttribute("flag", 1)

return map;

这里需要return map这样在页面才能够获取到值(这里return 的值比较适用于在js中)。 这种适用于

$.ajax({
            type : 'post',
            url : serviceUrl,
            data : {
                "entId" : entId
            },
            success : function(data) {
                $("#uuid").val(data.enterprise.uuid);
            }
        });

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值