Java 在基于spring mvc的应用程序中使用@PathVariable时出现问题

Java 在基于spring mvc的应用程序中使用@PathVariable时出现问题,java,spring,spring-mvc,Java,Spring,Spring Mvc,我对spring框架有点陌生,在应用程序中使用@PathVariable时感到困惑。要求从url模式访问类别ID。这是我在jsp中写的: <a href="cat/1">Categories</a> 所以我把自己搞砸了之后就有问题了。无论我在Category.java pojo类中使用String或int类型变量,它都无法将categoryId与pojo类对象绑定。所以最后,我在控制器的getCategory()方法中将参数类型更改为String,它成功了。仍然不知道为

我对spring框架有点陌生,在应用程序中使用
@PathVariable
时感到困惑。要求从
url模式
访问
类别ID
。这是我在
jsp
中写的:

<a href="cat/1">Categories</a>

所以我把自己搞砸了之后就有问题了。无论我在Category.java pojo类中使用String或int类型变量,它都无法将categoryId与pojo类对象绑定。所以最后,我在控制器的getCategory()方法中将参数类型更改为String,它成功了。仍然不知道为什么它不能绑定pojo类对象。

到底发生了什么?请求是否到达
getCategory
categoryId
为空?或者它甚至无法实现?Spring无法将
1
转换为
类别(或者您需要提供自定义转换器)。根本不调用此方法。你确定路径正确吗?我使用的路径就是我在这里提到的路径。除此之外,我使用了一个名为Category.java的pojo类和一个字段,即int caegoryId。路径的位是纯字符串,而不是结构化文档。因此,它们的自然映射是到字符串(或者可能是其他简单类型)。
@RequestMapping(value ="/cat/{categoryId}", method = RequestMethod.GET)
    public String getCategory(@PathVariable("categoryId") Category categoryId, ModelMap model) {
        System.out.println("Path variable : " + categoryId);
        return "category";
    }