【问题标题】:RequestMapping: path is undefinedRequestMapping:路径未定义
【发布时间】:2015-12-01 02:18:26
【问题描述】:

我正在引用 this Spring doc 并尝试将数据绑定到我的视图。 我想请求将我的控制器映射到 /act1doohickey.do 的方法,因此完整路径将是 /act1/doohickey.do

但是,Eclipse 说

注解类型RequestMapping的属性路径未定义

它给了我一个org.springframework.web.context.support.XmlWebApplicationContext的CNF

我正在使用 Maven。

<dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-orm</artifactId>
   <version>4.2.0.RELEASE</version>
</dependency>

@Controller
@RequestMapping("/act1")
public class AnnotetedControllerTest1 {

    @RequestMapping(path = "/formTest.do", method=RequestMethod.POST)
    public ModelAndView formTest(HttpServletRequest request,
            HttpServletResponse response
            ,@ModelAttribute Form1 form){

        ModelAndView mav = new ModelAndView();
        mav.setViewName("formTest1.jsp");
        return mav;


    }
}

抱歉,sn-ps 卡在一起了。

为什么 Eclipse 说路径未定义,而文档似乎暗示我可以使用此属性?

更新

我通过将 path 更改为 value 让它工作了,但为什么?
文件上写着path。我不相信这份文件是错误的。也许,我在看一个错误的文件?

【问题讨论】:

  • docs.spring.io/spring/docs/current/javadoc-api/org/…path 应该可以正常工作,前提是您实际使用的是 4.2.0 或更高版本(它还不存在,如文档所示)。如果你没有使用 spring-mvc 4.2.0 版本,而是使用 spring-orm 4.2.0 版本(与 RequestMapping 无关),那么你有一个问题:两个版本应该相同。跨度>
  • 你的 pom.xml 中有 spring-cloud 依赖管理吗?如果是,请尝试将版本更改为 Brixton.RELEASE

标签: spring annotations request-mapping


【解决方案1】:

我也遇到了同样的问题。我通过更改“spring-web”依赖项的版本来解决它。以前是 4.1.4.RELEASE。

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>4.2.7.RELEASE</version>
    </dependency>

【讨论】:

    猜你喜欢
    • 2016-08-22
    • 2021-09-26
    • 2020-03-07
    • 2018-09-02
    • 2021-01-10
    • 2011-04-10
    相关资源
    最近更新 更多