我正在使用spring可分页数据和对象。按数据库中可能具有相同值的字段排序时,更改页将检索错误的结果。
我正尝试使用HandlerInterceptorAdapter按id添加默认order,如下所示:
我的拦截器:
public class OrderByIdWebArgumentResolver extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
HandlerMethod hm= (HandlerMethod) handler;
Method method = hm.getMethod();
OrderById orderById = method.getAnnotation(OrderById.class);
if (orderById != null) {
for (MethodParameter parametro : hm.getMethodParameters()) {
if (parametro.getGenericParameterType().equals(Pageable.class)) {
Map<String, String[]> parameters = request.getParameterMap();
String[] sortById = new String[2];
sortById[0] = "id";
sortById[0] = "desc";
parameters.put("sort", sortById);
}
}
}
return true;
}
}
我的控制器:
@OrderById
@RequestMapping(value = "/print", method = RequestMethod.GET)
public String printMensagges(@ModelAttribute MensaggesOption messageSelector, final ModelMap model,
@SortDefault(sort = "date", direction = Sort.Direction.DESC) @PageableDefault(value = 5) final Pageable pageable, final Principal principal) {
//I need the pageable has order by id here or in a service method
List<Message> messages = messageService.findAll(pageable);
return "/index";
}
有什么方法可以添加默认订单吗?可以添加具有可分页参数的服务方法吗?
您可以只在@PageableDefault定义中添加排序,而不是添加单独的@SortDefault。
@PageableDefault(sort = {"name", "id"}, direction = Sort.Direction.DESC, value = 5) final Pageable pageable
问题内容: 我有一个函数,它返回像这样的字典: 我试图将此字典追加到这样的数据框: 不幸的是,数据框的打印导致空的数据框。有任何想法吗? 问题答案: 您没有将值分配给结果。
我有一个关于在Swift iOS中添加Firebase数据到数组的问题。当我对超链接中给出的数据使用运行此代码时,它会给出所具有的元素数。但是,我想把所有的元素都放入一个数组中。 例如,当我运行时,我希望在的情况下获取所有值。并且,将这些元素存储在数组中。你能帮我一下吗? 但是,快照应该有425个这样的元素
问题内容: 我需要更新表名(col1name) 如果已经有数据,我需要将其附加值’a,b,c’如果为NULL,则需要添加值’a,b,c’ 我知道有一个CONCAT参数,但是不确定SQL语法是什么。 以上正确吗? 问题答案: 试试这个查询: 请参阅此sql小提琴演示。
问题内容: 这可能很容易,但是我有以下数据: 在数据框1中: 在数据框2中: 我想要一个具有以下形式的数据框: 我尝试使用该方法,但是得到了交叉连接(即笛卡尔积)。 什么是正确的方法? 问题答案: 通常看来,您只是在寻找联接:
我试图比较两个id,并将一个属性附加到现有的本地存储数据中。在循环中。 这是显示示例数据的代码 简单地说,我试图检查
问题内容: 我是一名初学者,是android / java程序员,我的背景主要是C ++和C#。在C#中,如果我有一个名为myWord的字符串变量,并且其值为“ Hello”,则可以使用+运算符附加其他信息。 我在Java中尝试了这种方法几次,显然因为TextView数据类型为空,所以我无法使用此方法。Android studio给我以下错误:运算符’+’不能应用于’void’,’java.lan