Wie die Rückkehr der Liste der Objekte aus dem controller und zeigt diese mit Hilfe von JQuery (Spring MVC, ajax)

Zuerst, dies ist mein controller:

@Controller
public class MainController {
   @Autowired
   SqlSession sqlSession;
   @Autowired
   Message messageVO;


@RequestMapping(value="getMessages", method=RequestMethod.GET)
public @ResponseBody List<Message> getMessages(HttpSession session){
    JbuserDAO dao = sqlSession.getMapper(JbuserDAO.class);
    List<Message> inboxList = null;
    String logedinUserId = (String) session.getAttribute("loginId");
    inboxList = dao.getInboxList(logedinUserId);
    System.out.println(inboxList);       //I do get the list here so it's not sql problem. I think.
    return inboxList;
}

und das ist mein JQuery:

$(function(){
   viewingInbox();
   $("#viewInbox").on('click', function(){
        viewingInbox();
    });
  });


function viewingInbox(){

   $.ajax({
        url: "getMessages"
      , method: "GET"
      , dataType: "JSON"
      , contentType: "application/json; charset=UTF-8"
      , success: function(obj){
        alert(obj.inboxList);      //I get undefined here
        messageInbox(obj);
      }
  });
}


function messageInbox(obj){
   var list = '<div>';
   $(obj.inboxList).each(function(i, item){
       list = list + '<article class="media">'
                  + '<span class="pull-left"><input type="checkbox" class="checkboxes"></span>'
                  + '<span class="pull-left thumb-sm"><img src="resources/images/a2.png" alt="..."></span>'
                  + '<div class="media-body">'
                  + '<div class="pull-right media-xs text-center text-muted">'
                  + '<strong class="h4">12:18</strong><br></div>'
                  + '<a href="#" class="h4">123'+item.sendidjbuser+'</a>'
                  + '<small class="block m-t-sm">'+item.message+'</small></div></article>'
   });
      list = list + '</div>';
      alert(list);               //here I get only <div></div>
      $("#inboxDiv").html(list);
      alert("messageInbox end");
}

Was ich versuche zu tun ist, um gespeicherte Mitteilungen aus der DB und gibt Sie als eine Liste von Message-VO ich gemacht und dann drucken Sie Sie auf jsp.
Ich dachte, dies war der Weg, es zu tun, aber ich glaube nicht, dass ich bin immer die Liste aus dem controller. Ich versucht, indem Sie alert(message) innerhalb des each-Anweisung, und es hat nicht funktioniert; keine alert-Nachrichten. Das heißt, ich bin nicht immer die Liste aus dem controller. Bin ich etwas fehlt?

Ich jave json-databind-Abhängigkeit Hinzugefügt, aber das ist alles, was ich über json.

Ich nur gelernt, Strut2 für einen Monat und erst vor kurzem begonnen haben, mit der Quelle, so muss ich gemacht haben blöde Fehler gemacht, ich weiß nicht. Bitte sagen Sie mir, was das ist. Vielen Dank im Voraus.

  • was ist obj ? hast du die richtige obj? von controller ich glaube, Sie brauchen, um Gespräche zu json oder in der Erfolgs-callback-parse-json
  • Sollte die zurückgegebene inboxList von der Steuerung. Das ist, wie ich zu tun pflegte, auf Struts2. Ich denke, im Frühjahr ist es nicht wie das funktioniert. Wie mache ich das Parsen in der Erfolgs-callback oder Umwandlung in json-in-controller?
  • haben Sie versucht, die console.log(obj) in der Erfolgs-callback
  • Ich wollte nicht lernen, was das ist, aber l werd versuchen, dass jetzt
  • jQuery.parseJSON() zum Parsen von json in der Erfolgs-callback erhalten, wenn Sie json-Erfolgs-callback
  • Ich habe diese von der Konsole.log(obj) : Array[3] 0 : Objekt Nachricht : "111" messageid : "[email protected]" reportmessageSet : Array[0] requestIdjbuser : null senddate : "2016-04-13 14:38:45" sendidjbuser : null proto : Objekt
  • es ist json, die Sie wollen?
  • Äh, Nein, solange ich kann das Ergebnis der jsp-ich bin glücklich mit dem, was es sein würde. Eigentlich habe ich nur angefangen zu lernen, alles das für ein wenig mehr als 6 Monate, so dass ich don T wissen, was json ist wirklich..
  • keep it up man..
  • Ich weiß, ich sollte lernen, die Dinge zuerst und dann tun Sie Dinge wie diese, aber ich bin gehetzt von meinen Lehrern auch.. Also ich denke, es gibt nichts, was ich hier tun kann?
  • Lassen Sie uns weiter, diese Diskussion im chat.
  • Lernen Sie einen debugger verwenden, anstatt sich auf die Ausgabe in der Konsole: sowohl Ihre IDE und Ihrem browser haben, dann wird es 2016.

InformationsquelleAutor SunSun | 2016-04-13
Schreibe einen Kommentar