现在只能在Action中用getDataSorce(request)来拿  但我想在另一个类中进行一些数据库操作,如读数据库中的下拉框,怎么读取struct-config中的数据库配置信息。

解决方案 »

  1.   

    如果我在htmlbean重在写一遍数据库连接信息 那要打成包后很难改配置信息了,所以一定要读config中的信息
      

  2.   

    我想在htmlbean中取得数据库得连接信息,但没有getDataSorce(request)方法啊 ,他只在action中有 该怎么办呢?谁能帮帮我
      

  3.   

    你可以在action中返回你需要的list,然后在bean中初始化的时候获得。但问下,你的form怎么不用啊?在action中吧list放进session中,在前台页面,直接就能get到啊
      

  4.   

    就像3楼说的那样,你在进入下拉框之前先在action里调用数据库的查询方法,返回一个list,然后将list装到session里,这样在进入你的下拉框页面,遍历出来,或者使用标签,LZ不是想要这个效果吗
      

  5.   

    有很多下拉框 都在数据库中,最好有一个专门的类来处理 比如在页面中htmlBean.getCompanyDropDown();  而且首页是一个jsp  ,我想在页面上调用打出htmlBean.getCompanyDropDown();  一个下拉框,但要获得数据源 该怎么办啊?
      

  6.   

    getDataSource为什么要通过struts呢?为什么还需要传入request才能获取dataSource呢?觉得这样不合理
      

  7.   

    因为我这里的项目和数据库部署时会变,直接这样写;
    //Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();
    //String   url="jdbc:db2://localhost:50000/HBJY";     
    //String   user="tanchao";     
    //String   password="tingting";     
    //Connection conn;
    //conn = DriverManager.getConnection(url,user,password);
    // 
    //java.sql.Statement stmt=null; 
    //stmt= conn.createStatement();
    不太好 ,最好能在项目启动时从Structs-config.xml中读出数据库配置信息来,关键是怎么读呢?我只知道在action中是getdatasources()
      

  8.   

    写一个公共类读取数据源,如下:
    import java.sql.*; 
    import javax.sql.DataSource; 
    import  org.apache.struts.action.ActionServlet;  
    import  org.apache.struts.action.PlugIn;  
    import  org.apache.struts.config.ModuleConfig;  public class DBConn { 
    DataSource dataSource; 
    Connection conn; public  void  init(ActionServlet  servlet,  ModuleConfig  config){  
      dataSource  =  (DataSource)  servlet.getServletContext().getAttribute(  
      "org.apache.struts.action.DATA_SOURCE");  
        }  
        
      public  void getConnection()  { 
      try{ 
      if  (dataSource  !=  null)  
      conn  =  dataSource.getConnection();  
      } catch (SQLException ex) { }  
      } public void closeConnection(){ 
    try { 
    conn.close(); 
    } catch (SQLException ex) { 

    } public ResultSet executeQuery(String sql){ 
    try { 
    getConnection(); 
    Statement stmt = conn.createStatement(); 
    ResultSet rs = stmt.executeQuery(sql); 
    return rs; 
    } catch (SQLException ex) { 
    return null; 

    } }但是我在调用ResultSet时,报“Statement stmt = conn.createStatement(); ”这句空指针错误。希望与你公共探讨!
      

  9.   

    主要是有很多下拉框 我不希望在action类中装在list中返回到页面,我想在页面直接用一个对象打印出下拉框
    如: htmlBean.sqlToDropDown("selectName"," select * from table_bank where .....");  所以需要在HtmlBean类中获得数据源的连接信息,像11楼说的。如果封装一个获取数据源的类,怎么从Structs1.2框架中读取congfig中的数据库连接信息/