Spring默认页面不通过Controller类

时间:2014-04-09 02:37:08

标签: java spring jsp spring-mvc

在mvc-view-config.xml中,我有<mvc:view-controller path="/" view-name="countrys/countryList" />,在Controller中我有以下代码。想法是在首次加载站点时加载countrys / countryList.jsp。问题是它显示正确的jsp页面,但代码不会在控制器类中调用此showCountryList()。但是,如果我只是做mysite.com/countrys或mysite.com/contrys/contryList,我可以看到该页面的代码也调用了showCountryList()函数。我错过了什么?

 @RequestMapping(value = {"/countrys", "/countrys/countryList"})
    public String showCountryList(Map<String, Object> model) {
        // Here we are returning an object of type 'Vets' rather than a collection of Vet objects 
        // so it is simpler for Object-Xml mapping

        System.out.println("---- in here-----------");

        Collection<Country> results = this.clinicService.getCountry();
        model.put("selections", results);

        return "countrys/countryList";        
    }

1 个答案:

答案 0 :(得分:2)

此配置元素

<mvc:view-controller .../>

只需注册一个ParameterizableViewController

  

[...]始终返回命名视图。

并且您已将其映射到/。因此,当您向/发送请求时,将使用该控制器,而不是包含您已经显示的处理程序方法的控制器。

我不明白为什么你需要那个配置元素,只需将处理程序方法映射到/以及其他路径

@RequestMapping(value = {"/", "/countrys", "/countrys/countryList"})

此外,还有“国家/地区”的复数形式。是&#39;国家&#39;