这里是根据一个小项目,将数据库的值查出来,然后在页面前台进行遍历的方法
放入值的几种方式:
Struts2的三种存值取值的方式
值栈:
栈上下文:
ActionContext:
package com.sun.action;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.mysql.jdbc.Connection;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.sun.model.User;
public class UserListAction extends ActionSupport{
static PreparedStatement ps = null;
static ResultSet rs;
public String execute()throws Exception{
Connection con = null; //创建用于连接数据库的Connection对象
List users = new ArrayList();
try {
Class.forName("com.mysql.jdbc.Driver");// 加载Mysql数据驱动
con = (Connection) DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/test", "root", "123456");// 创建数据连接
//System.out.println("数据库连接成功");
String sql = "select * from user";// 删除数据的sql语句
ps = (PreparedStatement) con.prepareStatement(sql);
rs = ps.executeQuery();
User c = null;
while(rs.next()){
c = new User();
c.setAge(rs.getInt("age"));
c.setId(rs.getInt("id"));
c.setName(rs.getString("name"));
c.setSex(rs.getString("sex"));
//System.out.println(rs.getString("name"));
users.add(c);
}
con.close(); //关闭数据库连接
} catch (Exception e) {
System.out.println("数据库连接失败" + e.getMessage());
}
HttpServletRequest request = ServletActionContext.getRequest();
// request.setAttribute("users", users) ;
// ActionContext.getContext().put("users", users);
ActionContext.getContext().getValueStack().push(users);
ActionContext.getContext().getValueStack().push(users);
return "list_ok";
}
}
pageEncoding="utf-8"%>
显示用户的列表ID | 姓名 | 年龄 | 性别 |
---|
// request.setAttribute("users", users) ;
--%>
--%>
--%>