zuerst angezeigt werden, das ist mein Controller:Wie Liste der Objekte von der Steuerung zurückzukehren und sie mit JQuery (Spring MVC, AJAX)
@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, gespeicherte Nachrichten von DB zu bekommen und sie als eine Liste von Nachricht VO, die ich gemacht habe, zurückzugeben und sie dann auf jsp auszudrucken. Ich dachte, das wäre der Weg, aber ich glaube nicht, dass ich die Liste vom Controller bekomme. Ich habe versucht, eine Warnung (Nachricht) in die einzelnen Anweisungen einzufügen, und es hat nicht funktioniert. keine Warnmeldungen Das heißt, ich bekomme die Liste nicht vom Controller. Fehle ich etwas?
Ich Jave Json-Databind Abhängigkeit hinzugefügt, aber das ist alles, was ich über Json habe.
Ich habe Strut2 erst einen Monat lang gelernt und erst vor kurzem mit Spring angefangen, also muss ich einen dummen Fehler gemacht haben, den ich nicht kenne. Bitte sag mir, was das ist. Danke im Voraus.
was ist 'obj'? hast du richtiges obj bekommen? von Controller ich denke, Sie müssen es zu json oder in Erfolgs-Callback als json konvergieren – uzaif
Das sollte die zurückgegebene InboxList vom Controller sein. So habe ich das bei Struts2 gemacht. Ich denke, im Frühling funktioniert das nicht so. Wie mache ich das Parsen im Erfolgsrückruf oder wandeln Sie es in json im Controller um? – SunSun
haben Sie versuchen, console.log (obj) in Erfolg Rückruf – uzaif