|
2007-12-24 12:13:47 | 评论 (0) | 被访问(133)次
|
我最近正在编写一个应用程序,测试即将发布的Workshop 10.1“Merged”发行版的nightly build版本。这个应用程序将查询未发布的Workshop的bug数,并通过WAP将结果发送到我的Blackberry。因此,我希望对它进行计时,这样我可以实现一些改进。实际上,我希望在开始查询之前先启动一个计时器,并在呈现查询结果之后立即在结果页面中打印使用的时间。 问题在于,我在第一个页面的Action中开始计时,并且我希望在呈现的结果页面的scriptlet中显示计时器,我需要使用scriptlet可用的方式将结果时间传递给新页面。我试了很多方法,包括将计时器作为actionOutput添加,但是还是不能检索计时器。我甚至请教了很多开发人员,但是没人能够解决这一问题。有人提醒了我,“尝试在会话中填充”。这需要一点技巧。看看我是如何做到的:
在Controller的Action中,执行以下代码: long stopTime = System.currentTimeMillis(); Long l = stopTime - startTime; // // Now stuff the time in the Session. // getSession().setAttribute("elapsedTime", l); 是的,代码并不是非常良好,但是无法再进一步改善了。在最后呈现结果的页面中,我执行了以下代码。
<br>Executed in
<% out.print(((Long)session.getAttribute("elapsedTime"))/1000.0);%>
sec. <br>
我把这个程序看作六月份的编码成果。并且,新的Workshop 10.1非常健壮,我使用了三个星期的旧build版本。
原文出处:http://dev2dev.bea.com/blog/wgroth2/archive/2007/06/stuff_it_in_the.html
|
|