ssm:服务端到客户端的参数传递-----控制器返回String类型

1.控制器传递数据的返回值类型
使用@Controller注解的控制器下面的方法,其返回值有以下4种类型:ModelAndView,String,无返回值void,返回自定义类型对象。

2.返回值类型的选择
i.若控制器方法处理完后,需要跳转到其他资源,同时又要往跳转资源传递数据,此时控制器返回ModelAndView比较合适。这种情况下在控制器方法里面定义一个ModelAndView对象,并调用ModelAndView对象的addObject()方法添加Model数据,用于传递到目标View页面,调用setViewName()方法
设置目标View页面。

例:相关代码
ModelAndView mv=new ModelAndView();        
mv.setViewName("...");
mv.addObject("Key",Value);

ii.若控制器方法只跳转,而不传数据,或只传数据,而不向任何资源跳转(如页面的Ajax异步响应),此时若返回ModelAndView,都不太合适,要么Model多余,要么View多余。可以考虑使用其他3种返回值类型。

3.控制器返回String类型
控制器返回的字符串代表的是逻辑视图名,再通过InternalResourceViewResolver内部资源视图解析器将其转换为物理视图地址。
除了逻辑视图名,也可以是View对象名,但需要另外定义一个BeanNameViewResolver视图解析器将其解析为真正的URL。

i.若跳转资源为内部资源,则视图解析器可以使用InternalResourceViewResolver内部资源视图解析器。此时控制器返回的字符串与视图解析器的
前缀和后缀相结合,即可形成要访问的URI。

<!-- 配置内部视图解析器 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!--逻辑视图前缀-->
		<property name="prefix" value="/WEB-INF/jsp/"></property>
		<!--逻辑视图后缀,匹配模式:前缀+逻辑视图+后缀,形成完整路径名-->
		<property name="suffix" value=".jsp"></property> 
	</bean>

ii.若跳转资源为外部资源,则可以使用BeanNameViewResolver类型的视图解析器,然后在配置文件中再定义一些外部资源视图View对象,此时
处理器返回的字符串就是要跳转资源视图的View的名称。一般这种情况只跳转,不带传递数据

	<!-- 配置BeanNameViewResolver类型的视图解释器 -->
	<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
		<!-- 设置优先级为5,比内部视图解析器要高,优先使用 -->
		<property name
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值