Lo primero que hice fue construir mi servlet, efectuando la invocación al servicio. Debido a la facilidad que tiene AngularJS para trabajar con JSON, la respuesta que viene de la invocación la paso a dicho formato. Observen también la manera en que, a través del controller, se realiza la invocación al servlet. Finalmente, itero el resultado empleando el forEach con AngularJS.
A continuación, les dejo el código de este ejemplo. Si tienen algún comentario, consulta o ven alguna mejora que se le pueda hacer, siéntanse libres de escribirme.
A continuación, les dejo el código de este ejemplo. Si tienen algún comentario, consulta o ven alguna mejora que se le pueda hacer, siéntanse libres de escribirme.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var myModuleApp = angular.module('myModuleApp', ['ngSanitize']); | |
myModuleApp.controller('ActivityController', function ActivityController( | |
$scope, $http) { | |
$http.get('/myservlet').success(function(data, status) { | |
$scope.rpta = data; | |
$scope.status = status; | |
}).error(function(data, status) { | |
$scope.rpta = data || "Request failed"; | |
$scope.status = status; | |
}); | |
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<body ng-app="myModuleApp"> | |
<div ng-controller="ActivityController"> | |
<ul> | |
<li ng-repeat="item in rpta.items"> | |
<div ng-bind-html="item.object.content"></div> | |
</li> | |
</ul> | |
</div> | |
</body> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class MyServlet extends HttpServlet { | |
private static final String USER_ID = ""; | |
private static final String APP_NAME = ""; | |
private static final String API_KEY = ""; | |
public void doGet(HttpServletRequest req, HttpServletResponse resp) | |
throws IOException { | |
HttpTransport httpTransport = new UrlFetchTransport(); | |
JsonFactory jsonFactory = new JacksonFactory(); | |
Plus plus = new Plus.Builder(httpTransport, jsonFactory, null) | |
.setApplicationName(APP_NAME) | |
.setGoogleClientRequestInitializer( | |
new PlusRequestInitializer(API_KEY)).build(); | |
ActivityFeed myActivities = plus.activities() | |
.list(USER_ID, "public") | |
.setMaxResults((long) 5).execute(); | |
List<Activity> lista = myActivities.getItems(); | |
resp.setContentType("text/html; charset=UTF-8"); | |
resp.getWriter().println(new Gson().toJson(myActivities)); | |
} | |
} |
Algunos enlaces que me fueron de utilidad:
- Sobre el uso de $http: http://docs.angularjs.org/api/ng.$http
- Servlet de ejemplo: https://code.google.com/p/google-api-java-client/source/browse/plus-appengine-sample/src/main/java/com/google/api/services/samples/plus/PlusBasicServlet.java?repo=samples
- Atributo ng-repeat: http://docs.angularjs.org/api/ng.directive:ngRepeat
Si recién vas a iniciar, te recomiendo el tutorial que se encuentra en la misma página de AngularJS:
No hay comentarios.:
Publicar un comentario