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);
}
});