Я использую sping3 mvc в моем приложении.
У меня есть несколько объектов, которым требуется операция CRUD.
При запросе записи может потребоваться разбиение на страницы, поэтому я создаю класс Pagination:
class Pagination{
int page,
int pageSize,
String sort;
}
Это мой Дао:
public List<Post> list(Pagination pagination) {
/////
return xxx;
}
В контроллере:
@RequestMapping(value = "/", method = RequestMethod.GET)
public String list(@RequestParam int page,@RequestParam int pageSize,@RequestParam String sort) {
List<Post> posts=postDao.list(new Pagination(page,pageSize,sort));
return "";
}
Теперь, если в httprequest нет параметра page
или pageSize
, он выдаст исключение typeconvert, фактически я знаю, что могу перенаправить на страницу исключения, но я этого не хочу. Я хочу использовать некоторые настройки по умолчанию в этом случае, например:
http://xx/post/list ==> вернуть все записи без нумерации страниц
http://xx/post/list?page=1&pageSize=10&sort=id ==> нумерация страниц
http://xx/post/list?page=1 ==> разбиение на страницы со стандартным размером страницы (может быть 10) и сортировка (id)
http://xx/post/list?page=notnumber&pageSize=10 ==> разбиение на страницы со страницей = 1
Тогда я хочу знать, где и как проверить и сбросить параметр Pagination?