java - NoHandlerFoundException 集中的 'parameters map' 在哪里?

标签 java spring spring-mvc portlet

我正在尝试找出抛出以下异常的原因。

我认为这是因为在“ View ”模式下访问了一个 portlet,但出于某种原因我不知道 spring servlet 容器无法满足请求,这是否正确?

以下异常集中的“参数映射”在哪里?

org.springframework.web.portlet.NoHandlerFoundException: No matching handler method found for portlet request: mode 'view', phase 'ACTION_PHASE', parameters map[empty]

这是 Controller :

@Controller
@RequestMapping("VIEW")
public class DetailsController {
    @RequestMapping("VIEW")
    public String showDetails(final ModelMap modelMap, final RenderRequest renderRequest) {
        return "allDetails/details";
    }
}

最佳答案

这里有 3 个我可以想出的点子(知道你的 Controller 是如何调用的会有所帮助)。 尝试其中的一种或混合使用,然后告诉我它是否有效。

想法 1: 删除 ("VIEW")对于 showDetails @RequestMapping 注释。

...
public class DetailsController {

    @RequestMapping
    public String showDetails(final ModelMap modelMap, final RenderRequest renderRequest) {
        return "allDetails/details";
    }

}

如果您的调用 JSP 有这样的东西,这可能会起作用:<portlet:actionURL/> : showDetails 将是默认的渲染方法。

想法 2:为您的 @RequestMapping 方法注释指定操作参数。

...
public class DetailsController {

    @RequestMapping(params = "action=viewDetails")
    public String showDetails(final ModelMap modelMap, final RenderRequest renderRequest) {
        ...
    }

}

如果您的调用 JSP 有这样的东西,这可能会起作用:

<portlet:actionURL ... >
    <portlet:param name="action" value="viewDetails">
</portlet:actionURL>

想法 3:为操作阶段添加一个空方法。

...
public class DetailsController {

    @RequestMapping(params = "action=viewDetails")    // render phase
    public String showDetails(final ModelMap modelMap, final RenderRequest renderRequest) {
        ...
    }

    ...
    // Empty method
    @RequestMapping(params = "action=viewDetails")    // action phase
    public void actionMethod() {
    }

}

如果您的调用 JSP 有这样的东西,这可能会起作用:

<portlet:actionURL ... >
    <portlet:param name="action" value="viewDetails">
</portlet:actionURL>

关于java - NoHandlerFoundException 集中的 'parameters map' 在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12744806/

相关文章:

java - JPA 在 2 个不同模式和 session 之间复制项目

java - 线程问题,无法更改外部 TextView 的值

java - spring RequestMapping 404 状态

java - 如何处理 RESTful Spring MVC Controller 中的验证错误和异常?

java - 获取连接后执行启动语句

java - 如何在 Spring 中手动定义 RestController?

java - 检测是在 servlet 容器中运行还是独立运行

Java 构建器模式

java - Spring 4 中 Websockets 的自定义对象映射器

java - 如何自动加载 servlet-context.xml?