栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Spring中如何使用多个ViewResolvers?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Spring中如何使用多个ViewResolvers?

如您所说,您不能将它们链接在一起。两者的javadoc都明确指出,它们都必须都在解析程序链的末尾。

我建议如果您确实需要使用这些集合,那么您可以编写一个简单的ViewResolver自定义实现,该实现采用视图名称,并确定要委派给两个“真实”视图解析器中的哪个。假设您可以根据视图名称确定要调用哪个解析器。


因此,您需要像这样定义自定义ViewResolver:

public class MyViewResolver implements ViewResolver {    private ViewResolver tilesResolver;    private ViewResolver jspResolver;    public void setJspResolver(ViewResolver jspResolver) {        this.jspResolver = jspResolver;    }    public void setTilesResolver(ViewResolver tilesResolver) {        this.tilesResolver = tilesResolver;    }    public View resolveViewName(String viewName, Locale locale) throws Exception {        if (isTilesView(viewName)) { return tilesResolver.resolveViewName(viewName, locale);        } else { return jspResolver.resolveViewName(viewName, locale);        }    }    private boolean isTilesView(String viewName) {    .....    }}

您需要实现isTilesView方法来确定要委派给哪个解析器。

在XML配置中,定义这个新的视图解析器,并确保它出现 其他视图解析器 之前

<bean >    <property name="tilesResolver" ref="tilesViewResolver"/>    <property name="jspResolver" ref="viewResolver"/></bean>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/466337.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号