带扩展的spring请求映射

时间:2015-09-25 21:53:58

标签: spring spring-mvc spring-java-config

@RequestMapping(value = {"/","/index","/homepages"}, method = RequestMethod.GET)
public String home(/*Locale locale, Model model*/) {


    return "underConstruction";
}

当请求带有上下文路径或/索引等时,将提供underConstruction页面。

但是当请求作为index.htm进入时,页面不会被提供。

我正在使用java配置。如何在java配置中解决这个问题。

@Override
protected Class<?>[] getRootConfigClasses() {// classes for contextloaderlistener -- middle tier and backend
    // TODO Auto-generated method stub
    return new Class<?> [] {RootConfig.class}; 
}

@Override
protected Class<?>[] getServletConfigClasses() {//define dispatcher servlets application context
    // TODO Auto-generated method stub
    return new Class<?> []{WebConfig.class};
}

@Override
protected String[] getServletMappings() {
    // TODO Auto-generated method stub
    return new String[] {"/"};
}

2 个答案:

答案 0 :(得分:0)

Spring认为所有内容都以点作为文件扩展名。 Yo可以通过配置此类

来禁用此功能

org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping

将useSuffixPatternMatch设置为false。

如果您只是想保留原样并在请求映射中处理,您可以编写正则表达式

,例如

{variable:.+}
在@RequestMapping中,当我想通过get发送电子邮件时,我也在努力做同样的事情。

希望这有帮助

答案 1 :(得分:0)

@Override
public RequestMappingHandlerMapping requestMappingHandlerMapping() {
    // TODO Auto-generated method stub

    RequestMappingHandlerMapping requestMappingHandlerMapping = super.requestMappingHandlerMapping();
    requestMappingHandlerMapping.setUseSuffixPatternMatch(false);
    return requestMappingHandlerMapping;
}