不明な点がある場合は、遠慮なく質問を編集してください。
現在、私がserver
送信したときに状況があり、変更時にresponse
メッセージを反映する必要があります。JSP
bean class
私のBeanクラスは、
public class Information {
public LinkedList<String> information = null ;
public LinkedList<String> getInformation() {
return information;
}
public void setInformation(LinkedList<String> information) {
this.information = information;
System.out.println("List is : "+this.information);
}
}
Thread
から応答を取得すると、Bean クラスに影響を与えるために実行されます。server
Class Producer extends Thread{
LinkedList<String>() list = new LinkedList<String>();
Information info = new Information();
public void run() {
if(ConnectionProtocol.protocol != null){
try {
response = ConnectionProtocol.protocol.receive();
if(response != null){
System.out.println("Listener Response : \n"+response+"\n");
list.add("EventLinkEventLinkConnected event received..");
info.setInformation(list);
}
}
}
}
}
Bean クラスが影響を受けるか変更されるときに、JSP に情報を表示する必要があります。
また、私は ajax を認識しており、Bean にアクセスしている 5 秒ごとにこの状況を使用しました。Bean にメッセージがない場合は null になります。すべてが正常に機能します。
私のajaxは、
function pingAction(){
$.ajax(
{
type: "post",
url: "PingAction",
async: true,
data : "userId="+encodeURIComponent(userId)+"&secureKey="+encodeURIComponent(secureKey)+"&sid="+Math.random() ,
cache:false,
contentType: "application/x-www-form-urlencoded; charset=utf-8",
scriptCharset: "utf-8" ,
dataType: "html",
error: function (xhr, ajaxOptions, thrownError) {
//alert("status :"+xhr.status+"\nthrownError : "+thrownError+"\nresponseText : "+xhr.responseText);
xhr.abort();
},
success: function( responseData , status){
//alert("PingAction Response Data : "+ responseData +"\nStatus : "+status);
if(responseData != "null" && responseData.length != 0 && responseData != null){
//Process to view the response in the JSP
}
} ,
complete:function(){
timer = setTimeout(pingAction, 5000);
}
}
);
}
しかし、サーバーがリストに追加されるメッセージを送信しなかった場合、空の応答が返されPingAction()
ます.5秒ごとに関数を呼び出しているためです。
良い答えは間違いなく高く評価されます。