【发布时间】:2011-08-22 23:47:03
【问题描述】:
下面是代码sn-p,用于从gtalk获取在线名册
if (status == true) {
Roster roster =connection.getRoster();
Collection<RosterEntry> entries =roster.getEntries();
System.out.println(roster.getEntryCount());
int count1 = 0;
int count2 = 0;
for(RosterEntry r:entries)
{
Presence presence = roster.getPresence(r.getUser());
if(presence.getType() == Presence.Type.unavailable)
{
// System.out.println(user + "is offline");
count1++;
}
else
{
String rosterNamesJson = new Gson().toJson(r.getName());
String rosterUserJson =new Gson().toJson(r.getUser());
response.setContentType("application/json");
response.setCharacterEncoding("utf-8");
//array of 2 elements
String rosterInfoJson=response.getWriter().write("rosterNamesJson"+"rosterUserJson"]);
response.sendRedirect("Roster.jsp");
//System.out.println(name+user + "is online");
count2++;
}
}
}
现在在我的 jsp 页面中,我想将名册填充为姓名和他的 jid,即 xoxoxo:xoxoxo@gmail.com jjj:jjj@gmail.com 等等。我如何做到这一点?
我应该构造Json元素,即
users
{
name:
jid:
}
然后在我的 JSP 页面中编写函数来访问数据?
我的功能是
$(function() {
$.getJSON('xxxServlet', function(rosterInfoJson) {
var $ul = $('<ul>').appendTo($('#roster'));
$.each(rosterInfoJson, function(index, rosterEntry) {
$('<li>').text(rosterEntry.user).appendTo($ul);
});
});
});
【问题讨论】:
标签: java json servlets jquery gson