javascript - Spring MVC : No handler found for portlet request: mode 'view' ,阶段 'Resource_PHASE'

标签 javascript jquery ajax jboss spring-portlet-mvc

像往常一样,我似乎已经做了所有正确的事情,但对于幽灵来说,我的 ajax 调用失败并出现错误“找不到 portlet 请求的处理程序:模式'view',阶段'Resource_PHASE'”。

这里的处理程序 url 是“getAllFruit”,我从 js ajax 调用中获取它,并通过fruits-resource-url.js 中的映射器文件将其映射到 Controller 中的实际 url“getAllFruitURL”。

还有其他类似的 ajax 方法也写在这里,除了这个新方法之外,所有方法都工作正常。我想我在那里遗漏了一些东西。请任何建议。处理程序的拼写是正确的。

Controller 类

@Controller
@RequestMapping("VIEW")
public class FruitCtrl 
{    
    @Autowired
    private FruitAdapter fruitAdapter;

    @ResourceMapping("getAllFruitURL")
    public void getAllFruits(ResourceResponse response) throws IOException 
    {       
        // code for call to service     
    }
}

进行 ajax 调用的 Javascript 类 水果.js

$function()
{
    $.ajax({
        url:getAllFruit,
        success:function(data){
        }
    });
});

从中读取资源的资源文件

水果资源url.js

var getAllFruit = replaceResourceID("getAllFruitURL");
//<portlet-resourceURL id="RESOURCE_ID_PLACEHOLDER"/>

最佳答案

我找到鬼了!

我一直在 Debug模式下运行我的应用程序。因此,为了避免在服务器中自动重建应用程序,我取消选择“自动构建”选项,该选项不允许 .class 文件在 .war 文件中更新,尽管在服务器上重新发布。

经验教训:服务器根本不在乎应用程序是否构建。它将坚持其工作并开始在服务器上发布应用程序。

因此,在处理资源渲染时只需要注意两个基本步骤:

  1. ajax 调用 url 属性中提到的处理程序 url 名称与 Controller 中的实际 url“getAllFruitURL”完全匹配(如果我们像我的情况一样使用资源映射器 js 文件,则与fruits 中的映射器文件完全匹配) -resource-url.js) 这已经被解决了! 附:常识虽然常见,但有时会因各种原因而不稳定!:)

关于javascript - Spring MVC : No handler found for portlet request: mode 'view' ,阶段 'Resource_PHASE',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36151444/

相关文章:

javascript - JQuery日期格式问题

JQuery 悬停循环

javascript - 为什么我不能在 jQuery 中使用这个正则表达式过滤器选择这个输入字段?

ajax - MVC 和 AJAX 概念有什么关系?

python - 将 JSON 字符串转换回数组

javascript - 重新加载 jquery 和 js 库

javascript - 如何用幻灯片动画移动div?

javascript - 如何在同一元素上使用 .hover 和 .click

javascript - 我如何在javascript中只获取数字

javascript - jQuery 将鼠标悬停在同一元素上