簡體   English   中英

JSP聊天-如何將HTML中的值解析為JSP頁面?

[英]JSP Chat - How I can parse the value from HTML to JSP page?

我必須與JSP,AJAX和Java進行聊天,但遇到一個問題:當我嘗試使用變量存儲輸入文本的值時,此變量為null。 如果我在表單中添加'action'屬性,則變量'textParam'將具有輸入文本的值,但是,如果這樣做,我必須將action重定向到頁面,而我不是那樣。

我需要在JSP頁面中處理更大的東西,然后在HTML頁面(這是一個JSP頁面)中重新加載(重新加載部分不在實際的probem上)。

當我按下按鈕時,如何使輸入的文本值填充'textParam'?

PS:我需要使用純JavaScript而不是某些庫來實現它:)

必須處理的JSP是:

String textParam = request.getParameter("chatMessage");
System.out.println("textParam = " + textParam);

我的表格看起來像這樣:

<form id="frmmain" name="frmmain" onsubmit="return blockSubmit();">
        <input type="text" id="chatMessage" name="chatMessage" style="width: 447px;" />
        <input type="button" name="btn_send_chat" id="btn_send_chat" value="Send" onclick="sendChatText();" />
</form>

.js文件是這樣的:

var request = getXmlHttpRequestObject();
var response = getXmlHttpRequestObject();
var lastMessage = 0;
var mTimer;

function getXmlHttpRequestObject() {                
    if (window.XMLHttpRequest) {                    
        return new XMLHttpRequest();
    } else if(window.ActiveXObject) {                   
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
}

function sendChatText() {
    if(document.getElementById('chatMessage').value == '') {
        alert("You have not entered a message");
        return;
    }
    if (request.readyState == 4 || request.readyState == 0) {
        request.open("POST", 'getChat2.jsp?chat=1&last=' + lastMessage, true);
        request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        request.onreadystatechange = handleSendChat; 
        var param = 'message=' + document.getElementById('chatMessage').value;                                  
        param += '&chat=1';
        request.send(param);
        document.getElementById('chatMessage').value = '';
    }                           
}

function handleSendChat() {             
    clearInterval(mTimer);
    getChatText();
}

function blockSubmit() {
    sendChatText();
    return false;
}

問題在這里:

String textParam = request.getParameter("chatMessage");

我試圖獲取'chatMessage'參數,它只是輸入的名稱。 解決的辦法是獲取在js中定義和請求的“消息”參數:

String textParam = request.getParameter("message");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM