【问题标题】:reloading a variable in a jsp page在jsp页面中重新加载变量
【发布时间】:2013-01-17 17:32:39
【问题描述】:

虽然我对 MVC 框架中的所有概念都很熟悉,但我对 JSP、servlet 等还是很陌生。在以下代码中:

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

【问题讨论】:

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


    【解决方案1】:

    好吧,您的示例不起作用,因为该页面仅被解释一次,即 jsp 页面在被请求时被解释。要解决您的问题,您可以使用以下代码创建一个 JSP 页面:

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

    你可以试试这样的:

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

    【讨论】:

      猜你喜欢
      • 2015-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-09
      • 2013-12-02
      • 1970-01-01
      • 2023-03-25
      • 2015-12-30
      相关资源
      最近更新 更多