2013-01-17 55 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; 
    }); 
});