2015-05-26 3 views
-2

У меня проблема. Я хочу добавить вариант, когда пользователь admin может удалять учетные записи пользователей и не может удалять учетные записи администратора, но я не могу этого сделать. Я пытался это сделатьПроблемы с пружинным спящем

@RequestMapping("/adminRemoveUser/{id}") 
    public String removeUser(@PathVariable("id") int id){ 
     if(this.userService.getUserById(id).getUserRole().contains("ROLE_ADMIN")){ 
      return "errorDeleteUser"; 
     } 
     else{ 
      this.userService.removeUser(id); 
      if(this.userService.getPage(pageNumber).size()==0) 
       pageNumber--; 
      return "redirect:/adminuserspage="+pageNumber; 
     } 
} 

но это не работает. Пожалуйста, помогите;)

Вот link на репо.

+3

Что вы имеете в виду, не работает? – shruti1810

+0

изменение 'contains' to' equals' ... может помочь –

+0

Я использовал равные тоже. Это та же проблема. Случайное исключение исключения NestedServletException Он возвращает Set –

ответ

0

Во-первых, если вы ищете по этой ошибке, вы найдете множество статей о причинах и возможных решениях, поэтому я не собираюсь объяснять это.

Самое быстрое исправление, но не обязательно лучшее, это отметить @OneToMany от пользователя к роли как EAGER.

Альтернативой может быть делегирование чека на ваш уровень обслуживания и исключение из него Исключения.

@RequestMapping("/adminRemoveUser/{id}") 
public String removeUser(@PathVariable("id") int id){ 

    try{ 
     userService.removeUser(id); 

     if(userService.getPage(pageNumber).size() == 0){ 
      pageNumber--; 
     } 

     return "redirect:/adminuserspage="+pageNumber; 
    } 
    catch(SomeException ex){ 
     return "errorDeleteUser"; 
    } 

} 

Другие решения доступны.

+0

IllegalOperationException не может быть разрешен к типу –

+0

Вы либо создать или использовать использование некоторый существующий тип исключения, который может быть подходящим. UnsupportedOperationException? http://docs.oracle.com/javase/7/docs/api/index.html?java/lang/Exception.html –

+0

Это не работает, как я хочу. ОК. Это необходимо. Спасибо за помощь ;) –

Смежные вопросы