自己实现viewresolve
<!-- for multi velocity view -->
<bean id="viewResolver" class="com.ali.system.MultiViewResolve">
<property name="viewMap">
<map>
<entry>
<key><value>.jsp</value></key>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/" />
</entry>
<entry>
<key><value>.vm</value></key>
<bean class="org.springframework.web.servlet.view.velocity.VelocityViewResolver"
p:cache="true" p:prefix=""/>
</entry>
</map>
</property>
</bean>
配置springmvc.xml文件
public class MultiViewResolve implements ViewResolver{
private Map<String,ViewResolver> viewMap=null;
@Override
public View resolveViewName(String viewName, Locale locale) throws Exception {
for(Map.Entry<String,ViewResolver> map:viewMap.entrySet()){
if(viewName.endsWith(map.getKey())){
ViewResolver viewResolver=map.getValue();
return viewResolver.resolveViewName(viewName,locale);
}
}
return null;
}
public void setViewMap(Map<String, ViewResolver> viewMap) {
this.viewMap = viewMap;
}
}
测试controller
@RequestMapping("/hello")
public String hi(){
return "test.jsp";
}
@RequestMapping("/velocity")
public String good(ModelMap modelMap){
List list=new ArrayList();
list.add("list");
list.add("end");
modelMap.put("list",list);
return "good.vm";
}