tapestry4解决数据库重复读取的问题

最近发现程序的响应速度极其慢,然后调试发现,程序有的地方本应读取一次数据库的地方,读了好几次,这样势必造成性能上的响应问题。
造成此问题的原因,发现是由于tapestry自身的机制造成的。
下面给一点小小的源码进行对比:
重复读取数库:
public List getRecordsFromDB() {
   return "返回数据库查找到的记录集";
} 
/*在该方法里设置段点时,将查找数据库四次*/


解决方法:在Page类中定义一个变量
public List records = null;
public void pageBeginRender(PageEvent event) {
    if(records == null) {
       records = getRecordsFromDB();
    }
}
/*在getRecordsFromDB()中设置段点,将执行一次*/


public void pageEndRender(PageEvent event) {//一定要在页面显示完后进行销毁
      records = null;
}


鉴于以上示例,重复读取数据库的问题得到解决。 :-)
不知道各位还有没有什么好久解决办法,可以拿来互相探讨一下

你可能感兴趣的:(tapestry)