JSP, 서블릿 및 Ajax with Smack API를 사용하여 채팅 응용 프로그램을 작성합니다. 사용자가 Gtalk에 연결하면 대화 상대 목록이 UI에 표시됩니다. 콘솔에 대화 상대 목록을 가져올 수 있지만 JSP로 채우면 문제가 발생합니다.ajax를 사용하여 UI에 컬렉션 채우기
$(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>
내가 채울 수 없습니다입니다 : 나는 친구 목록은 페이지로드에 채워야 할 내 JSP 페이지에서
Roster roster = connection.getRoster();
Collection<RosterEntry> entries = roster.getEntries();
for(RosterEntry r:entries)
{
String user = r.getUser();
pw.println(user);
}
: 내 서블릿에서
나는 버디 사용하여 목록을 멀티 선택기 상자 이 문제를 어떻게 해결할 수 있습니까?
는 BalusC 야 ... 난 내가 오류 말 안 java.lang.IllegalStateException를 얻을 UR 솔루션이 시도 이온! wher 나는 잘못 가고있다 ??? – enthusiastic
당신은 그 원인이되는 다른 코드를 메소드 블록에 가지고 있습니다. 아마도 불필요하게'getOutputStream()'을 호출했을 것입니다. 아마도 불필요하게'forward()'등을 호출했을 것입니다. 실제 응답은 가지고있는 스택 트레이스에 있습니다. 최소한, 주어진 예 이외에는 아무것도하지 말아야한다.'connection'을 초기화 할 것을 기대한다. – BalusC
@ BalusC..gotcha !!! U 락 !! – enthusiastic