一般是在Action取到连接,然后传到bean里,
这是通常做法。

解决方案 »

  1.   

    好像只能在Action里面取得连接,如直接在其它的bean中使用,系统会报错,告诉你找不到相对应的Action类与你定义的连接池相对应~!
      

  2.   

    你可以把DataSource对象和session对象传到你的Bean里面去。
      

  3.   

    得到session比较容易,你传进去一个request就可以了。
    Action类中有一个叫getDataSource得方法,你可以在bean中试试看能否得到Datasource
      

  4.   


    谢谢楼上的回答。
    从Action里得到datasource的方法我是在用的。上面的问题的实际情况是这样的:
    例如在一个“添加用户”的用例,在JSP中需要选择所属的用户组,需要从数据库中读取这些组并显示。当然可以经过action取得数据再显示添加的页面。但我觉得为了这么小的数据经过Action有些不值得,希望能直接从bean里面取得需要的数据并显示,不知道有什么办法没有?
    (最后的办法就是在bean里面不用struts定义的datasource,但我不希望这么做)
      

  5.   

    这样传性能应该好不了!!!况且struts的连接池本身的性能又不高!!!
      

  6.   

    ServletContext context = servlet.getServletContext();
    DataSource dataSource = (DataSource)context.getAttribute(Action.DATA_SOURCE_KEY);从mastering jakarta struts里抄来的
    看来需要传递一个request进去