论坛首页 Web前端技术论坛

ajaxanywhere+struts

浏览 6480 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-08  
不知道是不是浏览器的问题.list.jsp页面定义的刷新区域总是刷新不了.请各位帮忙看看.
   发表时间:2007-05-08  

在ListForm中要增加 List类型的result变量

Action中要执行查询数据后保存至result后再跳转至输入页面

  • AjaxAnyWhere.rar (1.5 MB)
  • 描述: 这是我以前写的一个例子 你可以参考下:-)
  • 下载次数: 314
0 请登录后投票
   发表时间:2007-05-08  

shihukui 写道:

在ListForm中要增加 List类型的result变量

为什么要这样呢?

Action中要执行查询数据后保存至result后再跳转至输入页面

你的例子中用的public ActionForward userList(ActionMapping mapping, ActionForm actionForm,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  
  DynaActionForm form = (DynaActionForm)actionForm;
  
  //Conn test = new Conn();
  
  Connection conn = test.getConn();
  
  java.sql.Statement stmt = conn.createStatement();
  
  java.sql.ResultSet rs = stmt.executeQuery("select * from users");
  
  List<userbean></userbean> result = new ArrayList<userbean></userbean>();
  
  try {
   if (rs != null) {
    while (rs.next()) {
     UserBean userBean = new UserBean();
     
     userBean.setId(rs.getLong("id"));
     userBean.setName(rs.getString("name"));
     userBean.setPassword(rs.getString("password"));
     
     result.add(userBean);
    }
   }
  } catch (java.sql.SQLException e) {
   e.printStackTrace();
  } finally {
   rs.close();
   
   stmt.close();
   
   conn.close();
  }
  
  // 返回查询结果
  form.set("result", result);
  return mapping.findForward("userList");
 }

返回的list是包含的UserBean对象;

我的程序: 

 public List getList()
        throws SQLException
    {
        ConnectDBBean db;
        List list;
        String sql;
        db = new ConnectDBBean();
        list = new ArrayList();
        sql = "select id,name,sex,[work],address from book  order by id desc";
        try
        {
            Connection con = db.getConnection();
            Statement stmt = con.createStatement();
            Book bean;
            for(ResultSet rs = stmt.executeQuery(sql); rs.next(); list.add(bean))
            {
                bean = new Book();
                bean.setId(rs.getString(1));
                bean.setName(rs.getString(2));
                bean.setSex(rs.getString(3));
                bean.setWork(rs.getString(4));
                bean.setAddress(rs.getString(5));
            }  

 

        }
        catch(SQLException e)
        {
            e.printStackTrace();
            throw e;
        }      
        return list;

}

返回的也是list里面也是包含bean对象的.

不同的是我用这个

request.setAttribute("result", list);把list放入result

然后用 return mapping.findForward("list");返回到页面.

而你用的是  form.set("result", result);
  return mapping.findForward("userList");区别就在这里.搞不懂为什么非要在listForm中加个List类型的result变量?





0 请登录后投票
   发表时间:2007-05-08  

我将结果放在request里面也是可以的,你仔细检查下你的程序吧

还有你程序里面数据库链接什么的都没有关闭哦 

 

0 请登录后投票
   发表时间:2007-05-09  

shihukui 写道:

我将结果放在request里面也是可以的,你仔细检查下你的程序吧

还有你程序里面数据库链接什么的都没有关闭哦 

 

呵呵,兄弟好好看我整个例子的流程。数据库关闭了。哈哈。

我再仔细看看我的程序吧。呵呵。

 





0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics