0

そのため、JSP やサーブレットなどについてはまったくの初心者ですが、MVC フレームワークのすべての概念には慣れています。次のコードでは:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript" src="js/jquery.js"></script>
<title>Some title</title>
</head>

<body>
<div id="mostRecent">
Most Recent Time: <span id="mTime"></span><br>
</div>

<input id="butt" type="button" value="refresh" />

<script type="text/javascript">
$(document).ready(function(){
    count = 0;
    $('#butt').click(function(){
        $('#mTime').text(" <%= new java.util.Date() %> ");
        count += 1;
    });
});
</script>
</body>
</html>

更新ボタンをクリックすると、現在の日付が期待どおりにスパンに書き込まれますが、最初に呼び出されたときだけです。新しい日付文字列が追加されていないため、メソッドが (正常に) 1 回だけ呼び出されていると思われます。これを回避する方法はありますか?または、さらに良いことに、私の一般的な手法に問題がありますか (つまり、あまり多くのビュー ロジックを追加しないように、サーブレットにリクエストを送信する必要があります)。その場合は、(新しいページに応答を出力するのではなく) サーブレット応答をページのごく一部にロードする方法についての説明をいただければ幸いです。どうもありがとう。

4

1 に答える 1

1

ページが一度だけ解釈されるため、つまり、リクエストされたときにjspページが解釈されるため、あなたの例は機能しません。問題を解決するには、次のコードで JSP ページを作成します。

<%= new java.util.Date() %>

次のようなことを試すことができます:

 $('#butt').click(function(){
    $.get("get_current_date.jsp", function(response) {
       $('#mTime').text(response);
       count += 1;
    });
});
于 2013-01-17T18:14:15.363 に答える