javaとajaxとサーブレットの新機能です。私はユーザーからの入力を読み、いくつかのチュートリアルの助けを借りて辞書の意味をWebページに出力するプログラムを書いた。ajaxとJavaサーブレットで入力を読み取る
サーブレットのdoPostメソッドでWebページから入力を読み込むと、読み込みに失敗しnullが返されます。おそらく、送信ボタンの前に入力を読み込もうとしています。どのように私はこれを解決するつもりですか?ここに私のJSPファイルの関連コードさ:
:function ajaxFunction() {
if(xmlhttp) {
var inword = document.getElementById("inputWord");
xmlhttp.onreadystatechange = handleServerResponse;
xmlhttp.open("GET","gettime?inputWord="+ inword.value , true); //gettime will be the servlet name
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send(null);
}
}
...
<form name="myForm">
Enter the word: <input type="text" name="inputWord" />
<br />
Meaning:<input type="text" name="time" />
<br />
<input type="button" onClick="javascript:ajaxFunction();" value="Click to get the Meaning on Textbox"/>
<br />
</form>
そして、ここでは、私は私のサーブレットで入力を取得しようとしているコードの一部であります
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String inWord = request.getParameter("inputWord"); // word to search in the dictionary
PrintWriter out = response.getWriter();
...
毎回私はプロジェクトを実行しようとしますrequest.getParameter("inputWord");
はnullを返します。
xmlhttp.open("GET","gettime?inputWord="+ inword.value , true);
のコードのいくつかの組み合わせを試しましたが、xmlhttp.open("GET","gettime", true);
のように動作しませんでした。
また、doGetメソッドでdoPost(request,response);
を呼び出します。
ご了承ください。
AJAXなしで動作させることはできますか? – heikkim
Hm、あなたのAjax呼び出しでGETリクエストを実行すると、doPostがトリガされるべきではありません。それともdoGetはdoPostに転送しますか? – home
辞書部分はうまく動いていますが、私はdoJostメソッドでdoPost(request、response);と呼ぶことを忘れました。( – bliss