spring MVC之创建带有参数化视图的控制器

spring MVC之创建带有参数化视图的控制器

----------

 

 

 

在创建控制器时, 你不想将视图名称硬编码在控制器中,而是把它参数化, 以便在Bean配置文件中进行指定。ParameterizableViewController是AbstractController的一个子类,其中定义了viewName属性及其getter和setter方法。对于不需要任何处理逻辑,只为用户呈现视图控制器,可以直接使用这个控制器类,或者扩展这个控制器类来继承viewName属性。

 

假设有一个非常简单的控制器,其目的只是为了呈现about视图。可以声明一个ParameterizableViewController类型的控制器,并指定viewName属性为about。

<bean id="aboutController"
	class="org.springframework.web.servlet.mvc.ParameterizableViewController">
	<property name="viewName" value="about"/>
</bean>	

 

 

在保存参数化的视图时,如果想要给控制器添加一些处理逻辑,可以让控制器类扩展ParameterizableViewController。下面的AboutController接受email属性,并将它包含在模型中。 

package com.apress.springrecipes.court.web;
...
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.ParameterizableViewController;
public class AboutController extends ParameterixableViewController{
	private String email;
	public void setEmail(String email){
		this.email = email;
	}
	protected ModelAndView handleRequestInternal(HttpServletRequest request,
		HttpServletResponse response)throws Exception{
		return new ModelAndView(getViewName(),"email",email);
	}
}	

由于AboutController扩展了ParameterizableViewController,它也有一个viewName属性可以注入。

<bean id="aboutController"
	class="com.apress.springrecipes.court.web.AboutController">
	<property name="viewName" value="about"/>
	<property name="email" value="reservation@court.com"/>
</bean>

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值