Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Spring和JSON进行Dojo网格排序_Json_Spring_Spring Mvc_Dojo_Dojox.grid - Fatal编程技术网

使用Spring和JSON进行Dojo网格排序

使用Spring和JSON进行Dojo网格排序,json,spring,spring-mvc,dojo,dojox.grid,Json,Spring,Spring Mvc,Dojo,Dojox.grid,所以我有一个使用Dojo和Spring的webapp。我在应用程序中使用Json dojo商店加载了一些网格。事情似乎还不错,但我现在正试图实现排序。根据dojo的说法,dojo不会对存储区中的网格进行排序,而是将其留给服务器。好的,我想我可以用它,但是我在实际操作中遇到了问题 为了让数据进入我的网格,我让他们调用一条被我的控制器捕获的路径。例如,为了加载我的作业网格,dojo创建存储并调用/Job/data。以下是我的控制器代码: @RequestMapping(value="/job/dat

所以我有一个使用Dojo和Spring的webapp。我在应用程序中使用Json dojo商店加载了一些网格。事情似乎还不错,但我现在正试图实现排序。根据dojo的说法,dojo不会对存储区中的网格进行排序,而是将其留给服务器。好的,我想我可以用它,但是我在实际操作中遇到了问题

为了让数据进入我的网格,我让他们调用一条被我的控制器捕获的路径。例如,为了加载我的作业网格,dojo创建存储并调用/Job/data。以下是我的控制器代码:

@RequestMapping(value="/job/data", method=RequestMethod.GET,
        headers="Accept=application/json")
public @ResponseBody List<Job> getData() {
    return jobService.getAll();
}
有人有什么想法吗?我想知道问题的一部分是否是附加部分没有遵循?sort=something的正常语法。无论哪种方式,正如我所说,添加
@RequestParam
都无法使用此方法。我的意思是,即使该方法再次被称为/job/data,没有附加参数,我也会得到一个错误。请让我知道,如果你需要任何更多的我,因为这个问题是工作,我真的可以使用一些洞察力。谢谢

更新

经过大量的搜索,我确实发现几乎可以解决这个问题。当然,Spring的家伙自己也遇到了我的问题,他的代码并没有解决这个问题。他确实提到:

JsonStore以“sort(+fieldName1,+fieldName2,-fieldName3,…”的形式发送其“sort”参数,因此整个内容成为参数键。在SpringMVC中处理这一点很不方便,因为它需要下拉到HttpServletRequest并迭代参数键以查找以“sort”开头的参数,而不能使用@RequestParam处理程序参数注释

也许有人知道我会怎么做

更新2


有人吗?我只是问是否有人能为我指明正确的方向,如何实现我已经找到的解决方案。如何从spring控制器方法访问HttpServletRequest对象,以便访问Dojo发送的错误排序参数?

如果将HttpServletRequest请求包含到控制器方法中(它由spring MVC自动注入),您可以通过以下方式访问不同的参数:

Set parameters = request.getParameterMap().keySet();
for(Object param : parameters){
  //Here you can process the params to retrieve the names and ordering direction
}

您是否看过文档的第15.3.2.12章(自定义WebDataBinder初始化)?我没有尝试,但这可能是一个很好的起点。不,我不认为这与我的要求有任何关系。我可能错了,但我不这么认为。我问的是如何实现Spring开发人员自己提到的解决方案,而不是WebDataBinder。非常感谢!现在,在看到您的答案后,我意识到我应该能够弄清楚这一点,特别是在我开始将HttpServletResponse注入另一个方法之后。哦,我很感谢你抽出时间回答。
Set parameters = request.getParameterMap().keySet();
for(Object param : parameters){
  //Here you can process the params to retrieve the names and ordering direction
}