Как отправить данные JSON.stringify из JSP в Spring Controller без использования Ajax-вызова - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь отправить данные JSON.stringify из jsp на мой контроллер пружины.

Вот мой код jsp.

for (var i = 0; i < JSONObj.length; i++) {

                                            var remarkString = $(
                                                    "#eduRemark" + k).val();
                                            var scoreNum = $("#eduScore" + k)
                                                    .val();

                                            var objectInfo = {
                                                "iqrQuestionRemark" : remarkString,
                                                "iqrQuestionScore" : scoreNum
                                            };
                                            sample.push(objectInfo);

                                            k++;
                                        }

                                        var ArrayData = JSON.stringify(sample);

На контроллере я получаю данные следующим образом

@RequestMapping(value={VspCommonConstants.INTERVIEW_PANEL_MANAGER_URL+"/submitAssessmentform"}, method = RequestMethod.POST)
    public String submitAssessmentform(@RequestBody String ArrayData,@RequestParam("existFlag") boolean existFlag,@RequestParam("questionMasterid") String questionMasterid
            ,@RequestParam("appid") String appid,HttpServletRequest request,Model model) throws JsonParseException, JsonMappingException, IOException
    {

        UserInfo uInfo = (UserInfo) SecurityContextHolder.getContext().getAuthentication().getPrincipal();

        List<InterviewQuestionResult> existQuestionResult = interviewQuestionResultService.getRecordByAppIdAndUmId(Long.parseLong(appid),new Long(uInfo.getId()));

        if(existQuestionResult.size() == 0){
            existFlag = false;
        }else{
            existFlag = true;
        }

        int QuestionMasterid = Integer.parseInt(questionMasterid); 
        int Appid = Integer.parseInt(appid);
        ObjectMapper mapper = new ObjectMapper();
        System.out.println("Json converted Data:"+ArrayData);
    /*  mapper.setSerializationInclusion(Include.NON_NULL);
        mapper.setSerializationInclusion(Include.NON_EMPTY);*/
        InterviewQuestionResult[] actualData = mapper.readValue(ArrayData, InterviewQuestionResult[].class);
        System.out.println("Json converted Data:"+actualData.toString());

когда я отправляю данные из jsp, это выглядит как

Arraydata : [{"iqrQuestionRemark":"aaa","iqrQuestionScore":"2"},{"iqrQuestionRemark":"bbb","iqrQuestionScore":"1"},{"iqrQuestionRemark":"ccc","iqrQuestionScore":"3"}]

Но на контроллере я получаю данные в ArrayData следующим образом

nameOfStud=CHAKRESHWARA+K&saveFlag=&studid=2018-10-04+20%3A29%3A32&studid=229359&appid=293560&questionMasterid=&existFlag=true

По какой-то причине я не могу использовать для этого вызов ajax.Пожалуйста, скажите мне, как я могу достичь этого только с помощью отправки формы.Заранее спасибо

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