在java web项目中,我有些数据要在很多页面显示,我不想每次显示的都在Action中查出来,然后在页面中再显示,有没有好一点的思路,让我避免这样做?

解决方案 »

  1.   

    页面引用这些数据,怎么引用?直接从cache中取,在jsp页面中引用cache中的数据?不明白,说清楚点,可以吗?
      

  2.   

    session,appliaction或者是static 变量中
      

  3.   

    数据先缓存到cache中,数据的引用记录在session中
      

  4.   

    static变量?当数据库里的数据变了的情况下怎么办?不可能有数据永远都不会变吧?
      

  5.   

    典型的使用缓存啊很多三方的缓存使用,比如你用hibernate,可以试试EhCache
      

  6.   

    把ResultSet每一条数据封装成一个Bean,然后创建一个List<Bean> list = new ArrayList<Bean> 存放创建的Bean,最后将list对象放在application里面!(ResultSet数据量不能太多哦!)
    记住一个原则,session里面尽量只存放会话信息(尽管session和application都可以实现)
      

  7.   


    设置一个标识(flag),改变数据库中数据的话就改变这个标识(flag),每次显示数据的时候判断一下这个flag,没改变就继续用内存中的数据,改变了就重新读取并将flag重置。
    至于flag具体放置在application,session还是单独创建一个表存储或者其他什么方式存储,
    看你的具体需求,看看怎样实现比较简单了。
      

  8.   

    如果要放session中或者是在系统启动时就加载数据都可能导致数据变动时不能在改变这些预先存取的数据。
    就是要设置一个flag比较好,每次在用之前看flag是否改变,如果改变了就重新加载,如果没变就用这个数据。