2013-01-17 83 views
0

所以我對JSP,servlet之類的東西很陌生,儘管我很滿意MVC框架中的所有概念。在下面的代碼:重新加載一個jsp頁面中的變量

<!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> 

當我點擊刷新按鈕當前的日期寫在跨度預期,但僅在第一次它被稱爲即。不添加新的更多當前日期字符串,使我認爲該方法只被調用(成功)一次。有沒有辦法解決?或者更好的是,在我的一般技術中是否存在問題(即,我是否應該向servlet發出請求,以避免添加太多的查看邏輯)。如果是這種情況,那麼我將不勝感激,如何才能將servlet響應加載到頁面的一小部分(而不是將響應打印到新頁面)。非常感謝。

回答

1

那麼你的例子不工作,因爲頁面只解釋一次,即jsp頁面被請求時解釋。爲了解決你的問題,你可以用代碼創建一個JSP頁面:

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

你可以嘗試這樣的事情:

$('#butt').click(function(){ 
    $.get("get_current_date.jsp", function(response) { 
     $('#mTime').text(response); 
     count += 1; 
    }); 
});