Привет, проект Springboot. Я хочу реализовать операцию поиска (возвращает необходимые данные по ключевому слову) для моего crudrepository по данным JPA Spring, но, - PullRequest
0 голосов
/ 29 сентября 2018

Страница ошибки Whitelabel

Это приложение не имеет явного сопоставления для / error, поэтому вы видите это как запасной вариант.

Сб 29 сентября 09:33:28 IST 2018Произошла непредвиденная ошибка (тип = неверный запрос, статус = 400).Обязательный строковый параметр 'internship' отсутствует

Ошибка STS

2018-09-29 09: 33: 28.833 WARN 2589 --- [io-8082-exec-11]1017 *: в Controller.java

@RequestMapping(value = "/search",method=RequestMethod.POST)
public String getUsersByinternship(@RequestParam("internship") String internship, ModelMap modelMap) {
    List<User> user = userService.findAllByInternship(internship);
    modelMap.addAttribute("users", user);
    return "welcome";
}

: код поиска код jsp для панели поиска

я создал стажировку POJO с геттерами и сеттерами, конструктор с использованием полей и TostringМетод и те же атрибуты в БД

как выглядят реализации панели поиска: реализация

Пожалуйста, помогите!

Ответы [ 3 ]

0 голосов
/ 29 сентября 2018

изменить «имя» входного тега с «Стажировка» на «Стажировка» (первая буква должна быть в нижнем регистре), потому что вы должны сделать его таким же, как @RequestParam («Стажировка»)

0 голосов
/ 01 октября 2018

Я получил ответ на свое решение, изменив код в Controller.java

1. Добавив зависимости для хранилища

2. Затем в поиске

@ Autowired

UserRepository userRepository;

@RequestMapping(value = "/search",method=RequestMethod.POST)

 public String findAllByInternship(@RequestParam(value="internship", required=false)String internship, ModelMap modelMap,HttpServletRequest request) 
 {
List<User> user =  userRepository.findAllByInternship(internship);
 modelMap.addAttribute("users", user);
 request.setAttribute("mode", "ALL_USERS");
 return "welcome"; }

Спасибо всем, кто помог мне найти решение!

0 голосов
/ 29 сентября 2018

Это происходит потому, что ваш @RequestMapping не может найти параметр, который отправляется с предыдущего вызова / страницы.Ваша проблема фактически возникает из следующего блока кода:

@RequestMapping(value = "/search",method=RequestMethod.POST)
public String getUsersByinternship(@RequestParam("internship") String internship, ModelMap modelMap) {
    List<User> user = userService.findAllByInternship(internship);
    modelMap.addAttribute("users", user);
    return "welcome";
}

Здесь значение @RequestParam("internship") отправляется неправильно.Также проверьте форму, отправленную с помощью сетевого инспектора в режиме dev вашего браузера.Как я вижу, есть несколько способов решить эту ситуацию:

  1. Либо передать URL /search со всеми необходимыми параметрами (internship переменная)

OR

Вы можете изменить отображение @RequestParam на false следующим образом:

@RequestParam(value="internship", required=false) String internship

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...