Как вернуть данные JSON в JavaScript в контроллере Springboot? - PullRequest
0 голосов
/ 28 апреля 2019

Как вернуть данные json в javascript, чтобы загрузочная таблица могла его использовать? (Я хочу инициализировать его в javascript)

Я использую Springboot в качестве моего бэкэнда, начальную загрузку для разработки моей HTML-страницы и загрузочную таблицу для отображения моих данных. Эта таблица начальной загрузки должна быть инициализирована с данными json из контроллера, когда эта HTML-страница полностью загружена.

Что меня блокирует, так это то, что я не знаю, как вернуть данные json в javascript, чтобы таблица начальной загрузки могла его использовать.

В контроллере, если я возвращаю шаблон в виде строки, я не могу вернуть свои данные json, а если я возвращаю данные json и добавляю @ResponseBody, я просто получаю страницу со строкой json, я не могу получить доступ к своему шаблону, не говоря уже о использовать данные json для инициализации таблицы начальной загрузки.

некоторый код от контроллера:

ArrayList<AISResponse> aisResponses = new ArrayList<AISResponse>();
AISResponse aisResponse = new AISResponse();
aisResponse.setAISPath(AISPath);
aisResponse.setTmID(tmID);
aisResponse.setTmName(tmName);
aisResponses.add(aisResponse);
model.addAttribute("aisResponses", aisResponses);
return "AIS/UI_AIS_Properties"

некоторый код со страницы html:

<table id="table" data-toggle="table" data-pagination="true"
        data-search="true" data-page-size="30">
        <thead>
            <tr>
                <th data-sortable="true">AISPath</th>
                <th data-sortable="true">TM Name</th>
                <th data-sortable="true">TM ID</th>
            </tr>
        </thead>
        <tbody>
            <tr th:each="r:${aisResponses}">
                <td th:text="${r.AISPath}"></td>
                <td th:text="${r.tmID}"></td>
                <td th:text="${r.tmName}"></td>
            </tr>
        </tbody>
    </table>

На данный момент я использую Thymeleaf для итерации aisResponses, чтобы я мог показать свои данные в таблице. Но я хочу инициализировать таблицу в javascript путем непосредственного возврата данных json в javascript, думаю, это сделает мою html-страницу более понятной.

1 Ответ

0 голосов
/ 28 апреля 2019

В этом случае вы можете использовать ModelAndView или Model. Оба используются для определения модели в приложении Spring MVC. Модель определяет держатель для атрибутов модели и в первую очередь предназначена для добавления атрибутов в модель. И ваш код должен выглядеть следующим образом.

@RestController
public class YourController{

    @GetMapping
    public ModelAndView getAisList(){

    ModelAndView   modelView = new ModelAndView ("AIS/UI_AIS_Properties");

    ArrayList<AISResponse> aisResponses = new ArrayList<AISResponse>();
    AISResponse aisResponse = new AISResponse();
    aisResponse.setAISPath(AISPath);
    aisResponse.setTmID(tmID);
    aisResponse.setTmName(tmName);
    aisResponses.add(aisResponse);

    modelView.addObject("aisResponses", aisResponses);
    return modelView;

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