日期:2014-05-17  浏览次数:20787 次

如何使用Java将时间动态的显示在网页中
不用js和其他的前台技术,只使用Java

------解决方案--------------------
大炮打蚊子 
js在客户端能搞定的事 你非要服务端去刷新?
------解决方案--------------------
探讨

大炮打蚊子
js在客户端能搞定的事 你非要服务端去刷新?

------解决方案--------------------
首先,用java肯定可以实现,就算用ajax也行,但是这样会花费很大的开销,不知楼主为何要这样做呢?
送你一段js实现吧:
JScript code

很简单的一个功能函数,用Date()对象获取到当前时间,然后用setTimeout每隔1秒获取最新的时间.
写的过程中碰到过一个小小的问题: 我最初的想法是用setInterval()每隔1秒获取最新时间,可是可以,但setInterval如果放在主函数内部,但导致内存泄漏(至于原因,暂时还没想明白),后来在Rocky的提醒下用setTimeout()才解决内存泄漏问题

01 function nowTime(ev,type){  

02     /*  

03      * ev:显示时间的元素  

04      * type:时间显示模式.若传入12则为12小时制,不传入则为24小时制  

05      */ 

06     //年月日时分秒  

07     var Y,M,D,W,H,I,S;  

08     //月日时分秒为单位时前面补零  

09     function fillZero(v){  

10         if(v<10){v='0'+v;}  

11         return v;  

12     }  

13     (function(){  

14         var d=new Date();  

15         var Week=['星期天','星期一','星期二','星期三','星期四','星期五','星期六'];  

16         Y=d.getFullYear();  

17         M=fillZero(d.getMonth()+1);  

18         D=fillZero(d.getDate());  

19         W=Week[d.getDay()];  

20         H=fillZero(d.getHours());  

21         I=fillZero(d.getMinutes());  

22         S=fillZero(d.getSeconds());  

23         //12小时制显示模式  

24         if(type && type==12){  

25             //若要显示更多时间类型诸如中午凌晨可在下面添加判断  

26             if(H<=12){  

27                 H='上午 '+H;  

28             }else if(H>12 && H<24){  

29                 H-=12;  

30                 H='下午 '+fillZero(H);  

31             }else if(H==24){  

32                 H='下午 00';  

33             }  

34         }  

35         ev.innerHTML=Y+'年'+M+'月'+D+'日 '+' '+W+' '+H+':'+I+':'+S;  

36         //每秒更新时间  

37         setTimeout(arguments.callee,1000);  

38     })();

------解决方案--------------------
用servlet 直接out.print();
------解决方案--------------------
探讨
大炮打蚊子
js在客户端能搞定的事 你非要服务端去刷新?

------解决方案--------------------
客户端去实现更好
------解决方案--------------------
探讨
大炮打蚊子
js在客户端能搞定的事 你非要服务端去刷新?

------解决方案--------------------
用JS就好了呀~
------解决方案--------------------
前台可以用js ,jquery ;后台交互建议用AJAx , servlet , out.print
------解决方案--------------------
就是拐了个大弯还是要回到客户端
------解决方案--------------------
希望看到 从后台到前台走到一圈的代码