如何判断控制器中是否定义了某个视图(磁贴)?

时间:2011-10-03 18:36:49

标签: java spring spring-mvc tiles tiles2

Spring 3.0.5 + Tiles

在我的控制器中,我正在创建一个新的ModelAndView,但是出现了一个公司想要自己的视图的情况。一旦发生这种情况,我可以看到这种情况越来越多,其他人也想要自己的。

@RequestMapping(params="companyId")
public ModelAndView newCompanyView(HttpServletRequest request, String companyId) {
    // right here I'd like to check if the "companyABC" view is a defined tile
    // and if it is the send that back as a view and I can eliminate a bunch of if
    // checks. 
    if(companyId.equals("ABC")) {
        return new ModelAndView("companyABC", "vo", getCompanyVo());
    } else {
        return new ModelAndView("company", "vo", getCompanyVo());
    }
}

这是可能的,如果是,那么如何?

2 个答案:

答案 0 :(得分:0)

我想你可能对Spring的support for themes感兴趣,它可以相互继承并回退到默认值。

答案 1 :(得分:0)

显然没有一个好方法可以做到这一点,除非你真的想首先潜入视图解析器。我没有时间或想要尝试弄清楚它,但如果有人比我更聪明,我会喜欢听到解决方案。在那之前,我只是打算去寻找特殊公司的IF检查。