Angularjs ng-grid с использованием данных Grails JSON

Вопрос привязки данных Angular ng-grid

У меня есть приложение Groovy/Grails с доменным классом «Grid», для которого я зарегистрировал собственный «marshaller» для создания JSON, который я могу использовать для Angularjs ng-grid.

Скажем, «сетка» — это экземпляр класса Grid, «сетка как JSON» создает желаемый JSON.

У меня есть контроллер Grails/groovy, который загружает данные и возвращает JSON:

def index() {
    def grid = Grid.first()
    grid as JSON
}

Но я не знаю, как получить эти данные JSON в ng-grid в моем GSP:

<body ng-controller="MyCtrl">
    <script>
    var app = angular.module('myApp', ['ngGrid']);

    app.controller('MyCtrl', function($scope) {

        $scope.gridOptions = ${grid};  // NEED HELP HERE !
    });
    </script>

    <div class="gridStyle" ng-grid="gridOptions"></div>
</body>

Я не знаю, как получить данные в $scope.gridOptions. Когда я смотрю на то, что генерируется с помощью firebug, я вижу, что $scope.gridOptions

{&quot;columnDefs&quot;:[{&quot;field&quot;: ...

который представляет собой закодированные данные JSON. (Кавычки закодированы). Как лучше всего передавать данные JSON между серверной частью Grails и ng-grid в JSP?


person J21042    schedule 20.04.2015    source источник
comment
Вы пробовали тег c:out JSTL с escapeXml=false   -  person Sridhar Chidurala    schedule 20.04.2015
comment
Я не уверен, как использовать тег c:out JSTL из тегов ‹script›, кодирование уже произошло к тому времени, когда оно было введено в gsp. Я думаю, что это должно быть сделано на конце отличного контроллера?   -  person J21042    schedule 21.04.2015


Ответы (1)


Спасибо за предложение, Шридхар, я начал искать способы отменить экранирование JSON в GSP и нашел ответ здесь:

инструкции визуализировать-json-правильно-без-экранирования-кавычек-внутри-тега-gsp-script

Мне нужно использовать тег g:applyCodec в моем GSP:

<g:applyCodec encodeAs="none">
     $scope.gridOptions = ${grid};
</g:applyCodec>
person J21042    schedule 20.04.2015
comment
Однако у меня есть следующая проблема, когда отображаются только данные определения столбца: (stackoverflow.com/questions/29959449/) - person J21042; 30.04.2015