Javascript Spring MVC:未找到portlet请求的处理程序:mode';查看';,阶段';资源阶段';

Javascript Spring MVC:未找到portlet请求的处理程序:mode';查看';,阶段';资源阶段';,javascript,jquery,ajax,jboss,spring-portlet-mvc,Javascript,Jquery,Ajax,Jboss,Spring Portlet Mvc,像往常一样,我似乎做了所有正确的事情,但对于ghost,我的ajax调用失败,错误为“没有找到portlet请求的处理程序:模式‘视图’,阶段‘资源阶段’” 这里的处理程序url是“getAllFruit”,我从js ajax调用中获取它,并通过fruits-resource-url.js中的映射器文件将其映射到控制器中的实际url“getAllFruitURL” 这里还编写了其他类似的ajax方法,除了这个新方法之外,其他方法都工作得很好。我想我错过了一些东西。请给我任何建议。处理程序的拼写是

像往常一样,我似乎做了所有正确的事情,但对于ghost,我的ajax调用失败,错误为“没有找到portlet请求的处理程序:模式‘视图’,阶段‘资源阶段’”

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

这里还编写了其他类似的ajax方法,除了这个新方法之外,其他方法都工作得很好。我想我错过了一些东西。请给我任何建议。处理程序的拼写是正确的

控制器类

@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

从中读取资源的资源文件

fruits-resource-url.js

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

我找到了鬼魂

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

吸取的教训:服务器根本不在乎应用程序是否构建。它将坚持自己的工作,并开始在服务器上发布应用程序

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

  • ajax调用url属性中提到的处理程序url名称与控制器中的实际url“getAllFruitURL”完全匹配(如果我们使用的是资源映射器js文件,如我所示,则与fruits resource url.js中的映射器文件匹配) 这件事已经处理好了! P.S.常识尽管出于各种原因,常识有时可能会不稳定!:)
    我已经找到鬼了

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

    吸取的教训:服务器根本不在乎应用程序是否构建。它将坚持自己的工作,并开始在服务器上发布应用程序

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

  • ajax调用url属性中提到的处理程序url名称与控制器中的实际url“getAllFruitURL”完全匹配(如果我们使用的是资源映射器js文件,如我所示,则与fruits resource url.js中的映射器文件匹配) 这件事已经处理好了! P.S.常识尽管出于各种原因,常识有时可能会不稳定!:)
    var getAllFruit = replaceResourceID("getAllFruitURL");
    //<portlet-resourceURL id="RESOURCE_ID_PLACEHOLDER"/>