java – NoHandlerFoundException集中的’参数映射’在哪里?
我试图解决为什么抛出以下异常.
我认为这是因为在“查看”模式下访问了一个portlet,但由于某种原因我不知道spring servlet容器无法提供请求,这是正确的吗? 以下例外集中的“参数映射”在哪里?
这是控制器: @Controller @RequestMapping("VIEW") public class DetailsController { @RequestMapping("VIEW") public String showDetails(final ModelMap modelMap,final RenderRequest renderRequest) { return "allDetails/details"; } } 解决方法
以下是我可以提出的3个想法(知道你的控制器如何调用会有所帮助).
尝试其中一个,或混合使用它们,并告诉我它是否有效. 想法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方法注释指定action参数. ... 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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |