0

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

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 回答