我正在使用JSP,Servlets和Ajax與Smack API構建聊天應用程序。一旦用戶連接到Gtalk,他的好友列表應顯示在用戶界面上。我能夠將好友列表放到控制檯上,但將它填充到JSP上會產生問題。使用ajax在UI上填充集合
在我的servlet我得到使用好友列表:我想可以在頁面加載填充好友列表
Roster roster = connection.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
for(RosterEntry r:entries)
{
String user = r.getUser();
pw.println(user);
}
在我的jsp頁面:
$(document).ready(function() {
var xmlhttp;
if(window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4)
{
if(xmlhttp.status == 200)
{
document.getElementById(buddies).innerHTML=xmlhttp.responseText;
}
}
}
xmlhttp.open("POST","LoginIMServlet",true);
xmlhttp.send(null);
}
)
<table>
</tr>
<tr>
<td>
<form name=ListForm>
<select id="buddies" name="buddies" size=40 multiple onclick="window.open("ChatWindow.jsp",width=500,height=350,resizable=yes")>
</select>
</form>
</td>
</tr>
</table>
我不能填充多選框。我該如何解決這個問題?
嘿BalusC ......我試圖烏爾解決方案2我得到一個錯誤泰蘭java.lang.IllegalStateException:如何能在類型變量不存在於類declarat離子!我是否布萊恩錯? – enthusiastic 2011-04-07 14:10:31
你在方法塊中有另一個代碼引起這個問題。可能你不必要地調用'getOutputStream()',可能你不必要地調用'forward()'等等。真正的答案在你得到的堆棧跟蹤中。至少,除了給出的例子,你不應該做任何事情,期望初始化'連接'。 – BalusC 2011-04-07 14:19:44
@ BalusC..gotcha !!! U搖滾! – enthusiastic 2011-04-07 15:47:07