1

JSP

<div id="feedback" class="statusbar"></div>

jQueryで

$("#categorySave").click(function(){        
$getCode = document.getElementById("catCode").value;
$getName = document.getElementById("catName").value;
$getDesc = document.getElementById("catDesc").value;
$getDepID = $("select option:selected").val();

$(':text').val('');

$('#feedback').html('<img src="images/loading.gif"/>Processing....');

$.post("CategoryOperation", {
    catCode:$getCode,
    catName:$getName,
    catDesc:$getDesc,
    catID:$getDepID
}, function(html) {
    $("#feedback").html(html);         
});
});

サーブレット内(CategoryOperation)

out.println("<div>Record Inserted!</div>");

保存ボタン(id = categorySave)を押すと、挿入されたレコードとしてdiv(id = Feedback)のメッセージが表示されます。上記のコードは正常に機能しています。しかし、ここで少し変更が必要です。レコードが正常に挿入されると、結果がdiv(id = Feedback)ではなくテキストフィールドに表示されます。

仮に、CategoryOperation(サーブレット)がプロセスの後に次の2つを出力するとします。

out.println("Record Inserted!");
out.println("1");

ここで、上記の2つの出力をそれぞれテキストフィールドに表示したいと思います。これらは、次のIDを持っています。

id="Result"
id="Key"

上記のjqueryコードスニペットで、次のコードまたは他の簡単な方法を記述して、これを行うにはどうすればよいですか?

$('#Result').val();
$('#Key').val();
4

1 に答える 1

1

サーブレットが JSON や XML などのプレーン テキストではなく、解析可能なオブジェクト形式を返すようにする必要があります。jQuery には両方のサポートが組み込まれています。

JSON の例を次に示します。

String json = String.format("{\"result\": \"%s\", \"key\": \"%s\"}", "Record Inserted!", "1");
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);

( Google Gsonは JSON フォーマットをより簡単にするかもしれません)

次のように処理する必要があります。

function(data) {
    $("#Result").val(data.result);
    $("#Key").val(data.key);
}

以下も参照してください。

于 2012-04-18T00:12:33.450 に答える