所以我对JSP,servlet等都很陌生,尽管我对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>
当我单击刷新按钮时,当前日期按预期写入范围,但仅在第一次调用时才显示。不添加新的更新的日期字符串,使我认为该方法仅被调用(成功)一次。有没有办法解决?或者甚至更好,我的一般技术是否存在问题(即,我是否应该向servlet请求,以便不添加太多的视图逻辑)。如果是这种情况,那么关于如何将servlet响应加载到页面的一小部分(而不是将响应打印到新页面)的描述将不胜感激。非常感谢。
答案 0 :(得分:1)
那么你的例子不起作用,因为页面只被解释一次,即jsp页面在被请求时被解释。要解决您的问题,您可以使用以下代码创建JSP页面:
<%= new java.util.Date() %>
您可以尝试这样的事情:
$('#butt').click(function(){
$.get("get_current_date.jsp", function(response) {
$('#mTime').text(response);
count += 1;
});
});