получить значения из карты ответов в Ajax и отобразить их в HTML / JSP - PullRequest
1 голос
/ 19 июня 2020

Я попытался выполнить поиск, но не смог найти решение, подходящее для моего сценария.

У меня есть JSP, как показано ниже.


    <div class="form-parameters" id="form-parameters">
            <form action="/reports" method="post">
                <h3 class="text-center">Test File</h3>
                <div class="row">
                    <h5 class="col-md-2">Report Expiring Days:</h5>
                    <input type="text" name="expiringDays" class="col-md-4 form-control"
                        value='${parameterValues["expiring_days"]} '/>
                </div>
                <div class="row">
                    <h5 class="col-md-2">Report Expired [days] ago:</h5>
                    <input type="text" name="expiredDays" class="col-md-4 form-control"
                        value="${parameterValues['Exceeded_by_Days']}" />
                </div>
                <div class="organization-information">
                    <div class="row">
                        <div class="col-md-6">
                            <h4>Organization Information</h4>
                        </div>
                        <div class="col-md-6">
                            <h4>Student Information</h4>
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-md-2">
                            <h5>School:</h5>
                        </div>
                        <div class="col-md-4">
                            <select class="form-control school" multiple="multiple"
                                id="schoolNames">
                            </select>
                        </div>
                        <div class="col-md-2">
                            <h5>Area</h5>
                        </div>
                        <div class="col-md-4">
                            <select class="form-control area" multiple="multiple">
                            </select>
                        </div>
                    </div>
                </div>
    </div>
    </body
    </html>

Я использую Select2 для раскрывающихся списков. Я хочу получить значения от контроллера при загрузке страницы и отобразить их. Я могу отобразить значения для jsp, так как я использую $ {parameterValues ​​['expiring_days']. В контроллере у меня есть следующий код.


    @RequestMapping(value="/reports/{reportId}/{masterName}", method=RequestMethod.GET)
        public String showReportParameters(ModelMap model,@PathVariable int reportId,@PathVariable String masterName) {
            List<MasterSheetEntity> listBasedOnParameters = repo.fetchByParameterName(username, reportId, masterName);
            Map<String, String> allParameters = new HashMap<>();
            for (MasterSheetEntity eachParameter : listBasedOnParameters) {
                allParameters.put(eachParameter.getParamName(), eachParameter.getParamValue());
            }
            model.addAttribute("parameterValues", allParameters);
            return "reports";
        }

Я использую Jquery. Я также попробовал вызвать ajax вышеуказанного метода.


    @RequestMapping(value="/reports/{reportId}/{masterName}", method=RequestMethod.GET)
            public Map<String, String> showReportParameters(ModelMap model,@PathVariable int reportId,@PathVariable String masterName) {
                List<MasterSheetEntity> listBasedOnParameters = repo.fetchByParameterName(username, reportId, masterName);
                Map<String, String> allParameters = new HashMap<>();
                for (MasterSheetEntity eachParameter : listBasedOnParameters) {
                    allParameters.put(eachParameter.getParamName(), eachParameter.getParamValue());
                }
                model.addAttribute("parameterValues", allParameters);
                return allParameters;
            }

. js

    $.get(
            `${reportId}/${masterName}`,
            function(data){
                var parameterValues=data;
                $('.form-parameters').data(data);
                console.log(data);
                $('#parameterLavel').val(pgName);
            }
        )

Я могу видеть данные в консоли. Но я не уверен, как отобразить ответ в HTML.

Пожалуйста, поделитесь своими вводами.

У меня есть данные в этом формате.

{expiring_days: "10", Exceeded_by_Days: "", school: "20", area: "1:2:3:4:5:6:7:8:0", …}

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