说明:这里只是实现了功能没有做样式。
准备工作:
了解js中的两个方法:
1. setTimeout() :只执行一次,所以很显然不用该方法
2. setInterval():可以执行多次。
具体实现:
jsp页面:
…
<script type="text/javascript">
//每隔1秒执行一次getCurrentTime()方法
setInterval("getCurrentTime()", 1000);
//这里用到了jquery,所以在使用时应该引入jquery.js
functiongetCurrentTime(){
//这里的 url 为访问 action的路径,如果使用的是 servlet 则直接使用 web.xml 里配置的servlet路径
varurl = jsBasePath + "time/currentTime.action";
$.post(
url,
function(data) {
$("#currentTime").html(data);
});
}
</script>
</head>
<body>
当前是: <span id="currentTime"></span>
</body>
Struts2 action中的代码(当然也可以在servlet中使用):
private PrintWriter out;
/**
* 获取系统当前日期时间。返回类型如:1986-11-11 11:11:11 星期二
* @author sourcefour
* @return 系统当前时间日期
* @throws IOException
*/
public String currentTime() throws IOException {
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
String currentTiem = dateFormat.format(new Date());
try {
// 因为牵扯到了星期可能会出现乱码,所以在这里设下字符编码。
// 说明:这里的字符编码格式应该与 jsp 中的 encoding 是一样的
response.setCharacterEncoding("utf-8");
out = response.getWriter();
out.print(currentTiem);
} finally {
if (out != null) {
out.close();
}
}
return null;
}
如果使用的是servlet则以下配置 就可以不用看了。
Stuts2.xml 配置文件:
这里改为自己的
<package name="time" namespace="/time"extends="struts-default">
<!-- 取服务器当前时间 -->
<action name="currentTime" class="timeAction" method="currentTime"/>
</package>
至此,在页面上就出现一个动态的变化时间了 。
PS:祝君好运
完整文档下载地址:CSDN下载
转载请注明作者与出处。