java

位置:IT落伍者 >> java >> 浏览文章

Spring MVC学习之处理方法返回值的可选类型


发布日期:2019年08月23日
 
Spring MVC学习之处理方法返回值的可选类型

spring mvc处理方法支持如下的返回方式ModelAndView Model ModelMap MapView String void下面将对具体的一一进行说明

ModelAndView

Java代码

@RequestMapping(/show)

public ModelAndView show(HttpServletRequest request

HttpServletResponse response) throws Exception {

ModelAndView mav = new ModelAndView(/demo/show);

mavaddObject(account account );

return mav;

}

通过ModelAndView构造方法可以指定返回的页面名称也可以通过setViewName()方法跳转到指定的页面

使用addObject()设置需要返回的值addObject()有几个不同参数的方法可以默认和指定返回对象的名字

调用addObject()方法将值设置到一个名为ModelMap的类属性ModelMap是LinkedHashMap的子类

具体请看类

Model 是一个接口 其实现类为ExtendedModelMap继承了ModelMap类

Map

Java代码

@RequestMapping(/demo/show)

public Map getMap() {

Map map = new HashMap();

mapput(key value);

mapput(key value);

return map;

}

在jsp页面中可直通过${key}获得到值 mapput()相当于requestsetAttribute方法

写例子时发现key值包括 时会有问题

View 可以返回pdf excel等暂时没详细了解

String 指定返回的视图页面名称结合设置的返回地址路径加上页面名称后缀即可访问到

注意如果方法声明了注解@ResponseBody 则会直接将返回值输出到页面

例如

Java代码

@RequestMapping(value = /something method = RequestMethodGET)

@ResponseBody

public String helloWorld() {

return Hello World;

}

上面的结果会将文本Hello World 直接写到http响应流

Java代码

@RequestMapping(/welcome)

public String welcomeHandler() {

return center;

}

对应的逻辑视图名为centerURL= prefix前缀+视图名称 +suffix后缀组成

void 如果返回值为空则响应的视图页面对应为访问地址

Java代码

@RequestMapping(/welcome)

public void welcomeHandler() {}

此例对应的逻辑视图名为welcome

小结

使用 String 作为请求处理方法的返回值类型是比较通用的方法这样返回的逻辑视图名不会和请求 URL 绑定具有很大的灵活性而模型数据又可以通过 ModelMap 控制

使用voidmapModel 时返回对应的逻辑视图名称真实url为prefix前缀+视图名称 +suffix后缀组成

使用StringModelAndView返回视图名称可以不受请求的url绑定ModelAndView可以设置返回的视图名称

上一篇:JAVA SSH框架

下一篇:Spring事务配置的五种方式