Ответы пользователя по тегу Java
  • Почему контроллер не изменяет атрибутов?

    @void01
    он не должен ничего поменять на странице, он должен в ответе прислать тебе новое тело страницы с YES!
    посмотри респонс в нетворк таб дев тулза

    то, что ты видишь изначально - 1 страница
    то, что получаешь результатом аякс запроса - совсем другая, они никак не связаны.
    все что ты можешь сделать - это:
    1. отвечать например json-ом и по результатам аякса менять на странице содержимое определенных блоков...
    щас пример набросаю

    @RequestMapping(value = "/adminNewClient", method = RequestMethod.DELETE)
        public @ResponseBody Map adminNewClientPost(HttpServletResponse response, HttpServletRequest request,
                                         @RequestParam(value = "name") String name,
                                         @RequestParam(value = "surName") String secondName,
                                         @RequestParam(value = "birthday") String birthdayDate,
                                         @RequestParam(value = "passport") String passport,
                                         @RequestParam(value = "adress") String adress,
                                         @RequestParam(value = "email") String eMail,
                                         @RequestParam(value = "number") String number) {
         LinkedHashMap result = new LinkedHashMap();
         result.put("nameStat","YES!");
         return result;
      }

    в JSP
    <tr>
      <td><input id="surName" type="text" class="form-control" placeholder="Surname"></td>
       <td><span style="color:blue;" id="nameStat">${nameStat}</span></td>
     </tr>

    в JS
    function popBox() {
                                x = confirm('Are you sure? ');
                                if (x == true) {
                                    var xhr = new XMLHttpRequest();
    xhr.onload = function(){
    var jsonResponse = JSON.parse(this.responseText);
    for(var index in jsonResponse) { 
       if (jsonResponse.hasOwnProperty(index)) {
          document.getElementById(index).innerText = jsonResponse[index];
       }
    }
    };
                                    xhr.open("DELETE", "adminNewClient?name=" + name + "&surName=" + surName
                                            + "&birthday=" + birthday + "&passport=" + passport
                                            + "&adress=" + adress + "&email=" + email + "&number=" + number, false);
                                    xhr.send();
    
                                }
                            }


    соответственно на странице ты можешь иметь сколько угодно элементов которые тебя надо динамически поменять, просто добавь их в респонс result.put("тут айди хтмл элемента","тут новый текст");
    Ответ написан
  • Каким образом связать spring и ajax?

    @void01
    мейби return ResponseEntity.status(530).body(null);

    вообще у тебя же в контроллере есть HttpServletResponse ты также можешь задать ему статус
    не обязательно же этот запрос через MVC прогонять..
    воспользуйся @ResponseBody и отвечай без всяких моделей тупо реквест-респонс

    както так..
    @RequestMapping(value = "/admin",method = RequestMethod.DELETE)
        public @ResponseBody String responseTest(HttpServletResponse response, HttpServletRequest request
        ) throws ResourceNotFoundException {
            response.addHeader("Access-Control-Allow-Origin", "*");
            response.addHeader("X-XSS-Protection", "0");
            response.setStatus(530);
            return "";
        }
    Ответ написан
  • Почему происходит Internal 500 Server Error в моём коде?

    @void01
    могу ошибаться, но мне кажется проблема в
    servletInputStream.isReady()
    попробуй закоментить это условие
    Ответ написан
    1 комментарий