J'essaie de voir combien de travail sera impliqué si nous migrons notre application web Struts 1.x vers AngularJS + Java RESTful Web Service. (Je sais que Struts 1.x ne correspond pas bien avec AngularJS.)Réponse JSON pour Struts1 ActionForm
La première chose que je remarque est qu'il y a tellement de Struts ActionForm
et je me demandais s'il y avait un moyen plus simple d'obtenir une réponse dans JSON format. Nous avons donc la classe apprecier:
public class Note extends org.apache.struts.action.ActionForm{
//setter and getter...
}
J'ai essayé de convertir en classe de style POJO et tant d'autres changements sont nécessaires pour Dão, aide, classes utilitaires aussi bien. Est-ce quelque chose d'inévitable? Ou vaut-il mieux migrer vers Struts 2 d'abord et ensuite essayer d'adopter AngularJS?
D'ailleurs, je reçois cette erreur console éclipse quand j'ai essayé d'obtenir une réponse:
org.codehaus.jackson.map.JsonMappingException: Aucun sérialiseur trouvé pour la classe org.apache.struts.action .ActionServletWrapper et aucune propriété pour créer BeanSerializer découvert (pour éviter exception, désactivez SerializationConfig.Feature.FAIL_ON_EMPTY_BEANS)) (par la chaîne de référence: org.kki.dao.oracle.ads.TranscribedNote [ "ServletWrapper"])
Mise à jour:
@Path("/note")
public class NoteRestService {
@Context
private HttpServletRequest request;
@GET
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Note [] getNote() {
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
NoteDAO noteDao = new NoteDAO(null);
Note[] note = noteDao.selectNote(user.getUserId());
return note;
}
}
=========
myApp.controller('noteCtrl', ['$scope', 'Note',
function ($scope, Note) {
var vm = this;
$scope.noteLists = Note.query(function(){
vm.noteList = $scope.noteLists;
});
================
myApp.factory('Note', ['$resource',
function($resource) {
return $resource('http://localhost:8080/angular_demo/rest/note/:id', {id: '@id'}, {
get: {method: 'GET', cache: false, isArray: false}
});
}]);
Comment avez-vous renvoyé la réponse au format json? –
Je viens d'éditer ma question originale. – Daniel
La réponse ci-dessous. –