在jsp页面中重新加载变量

时间:2013-01-17 17:32:40

标签: javascript jquery jsp model-view-controller javabeans

所以我对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响应加载到页面的一小部分(而不是将响应打印到新页面)的描述将不胜感激。非常感谢。

1 个答案:

答案 0 :(得分:1)

那么你的例子不起作用,因为页面只被解释一次,即jsp页面在被请求时被解释。要解决您的问题,您可以使用以下代码创建JSP页面:

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

您可以尝试这样的事情:

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