복붙노트

[SPRING] 초기 뷰 호출에서 Angular JS의 Spring MVC에서 데이터 가져 오기

SPRING

초기 뷰 호출에서 Angular JS의 Spring MVC에서 데이터 가져 오기

Angular JS에 익숙하지 않다. Angular JS로 Spring MVC 웹 애플리케이션을 만들었다. 뷰에서 볼 때, 앵귤러 JS에서 REST 서비스를 리소스, 삼각형, http를 사용하여 호출 할 수 있음을 알았다.하지만 스프링 폼에서는 뷰가 사용되었다. 다시 뷰 내의 각도를 통해 데이터를 로딩하기 위해 angular로부터의 REST 호출은 뷰에서 서버로 호출되고로드를위한 데이터를 얻는다. 대신 Spring 컨트롤러로부터 뷰를 트리거하는 동안 json 객체를 전달할 수있는 방법이있다. Angular JS에 처음으로 추가되었습니다.

나는 비슷한 일을했는데, 그 잘 작동하지만 그 좋은 접근 여부는 모르겠다.

스프링 컨트롤러

@RequestMapping("/getemployee")
public ModelAndView helloWord(){
   JSONArray employeeJsonArray = // contains all the information of the employee
   return new ModelAndView("employee", "employee",employeeJsonArray);
}

employee.jsp

<html ng-app="myApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Spring 3.0 MVC Series: Hello World</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('MyCtrl', function($scope) {
    $scope.employee = [];
    $scope.loadData = function(employee)
    {
        $scope.employee = JSON.parse(employee);
    };
});
</script>
</head>
<body ng-controller="MyCtrl">
{{loadData('${employee}')}}

 <input type="text" ng-value="employee[0].name"/>
</body>
</html>

해결법

  1. ==============================

    1.Angular는 "단일"페이지 응용 프로그램에서 사용할 때 정말 빛난다. 따라서 "기존 접근법"에서 제안한 것처럼 사용하여 단일 페이지 응용 프로그램 디자인에 더 가까워 지도록 제안 할 수 있습니다. 기존 요청 / 응답 응용 프로그램에서 Angular의 일부 기능을 얻은 다음이 페이지에서 설명하는 것처럼 ng-init의 데이터로 html 페이로드를 보낼 수 있습니다. 그것은 RoR의 예입니다. 그러나 나는 그 요점이 분명하다고 생각합니다. 나는 그것이 약간 해킹이라고 생각하지만, 일을 끝내야한다.

    Angular는 "단일"페이지 응용 프로그램에서 사용할 때 정말 빛난다. 따라서 "기존 접근법"에서 제안한 것처럼 사용하여 단일 페이지 응용 프로그램 디자인에 더 가까워 지도록 제안 할 수 있습니다. 기존 요청 / 응답 응용 프로그램에서 Angular의 일부 기능을 얻은 다음이 페이지에서 설명하는 것처럼 ng-init의 데이터로 html 페이로드를 보낼 수 있습니다. 그것은 RoR의 예입니다. 그러나 나는 그 요점이 분명하다고 생각합니다. 나는 그것이 약간 해킹이라고 생각하지만, 일을 끝내야한다.

       <body ng-init="angularVariable = ${variableFromServer}">
         html/angular ...
       </body>
    
  2. ==============================

    2.나는 최근 각도를 사용하여 전환, 그것의 아름다움은 jsp의 전적으로 도랑 수 있으며 프론트 엔드로 정적 HTML을 가지고 있습니다. 봄까지 정적 리소스로 사용됩니다.

    나는 최근 각도를 사용하여 전환, 그것의 아름다움은 jsp의 전적으로 도랑 수 있으며 프론트 엔드로 정적 HTML을 가지고 있습니다. 봄까지 정적 리소스로 사용됩니다.

    처음에는 폼 / 테이블 / 뭐든간에 - 많은 다른 옵션을 채우려면 javascript / angular로 수행하십시오. 하지만 당신의 컨트롤러 (예 : JSP를 사용하지 마십시오)에서 별도의보기를 유지하는 것이 좋다.

  3. ==============================

    3.사용자 로깅을 위해 아래 코드를 사용할 수 있습니다.

    사용자 로깅을 위해 아래 코드를 사용할 수 있습니다.

    <input type="text" ng-model ="currentLoging" ng-init= "currentLoging='${pageContext.request.userPrincipal.name}'" />
    
  4. from https://stackoverflow.com/questions/24106610/getting-data-from-spring-mvc-in-angular-js-in-the-initial-view-call by cc-by-sa and MIT license