• Java-struts2 之值栈问题


    这里是根据一个小项目,将数据库的值查出来,然后在页面前台进行遍历的方法

    放入值的几种方式:

    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<User> users  = new ArrayList<User>();
          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";
    	 }
    }
    
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
        <%@ taglib prefix="s" uri="/struts-tags"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>显示用户的列表</title>
    </head>
    <body>
    <table>
      <tr>
        <th>ID</th>
        <th>姓名</th>
        <th>年龄</th>
        <th>性别</th>
      </tr>
      
    <%-- HttpServletRequest request = ServletActionContext.getRequest();
             //  request.setAttribute("users", users) ;
             
             <s:iterator value="#request.users" >
      <tr>
        <td><s:property value="id" /></td>
        <td><s:property value="name" /></td>
        <td><s:property value="age" /></td>
        <td><s:property value="sex" /></td>
      </tr>
      </s:iterator> --%>
      
      
    <%--  ActionContext.getContext().put("users", users); <s:iterator value="#users" var="u">
      <tr>
        <td><s:property value="#u.id" /></td>
        <td><s:property value="#u.name" /></td>
        <td><s:property value="#u.age" /></td>
        <td><s:property value="#u.sex" /></td>
      </tr>
      </s:iterator> --%>
      
      
    <%--   ActionContext.getContext().getValueStack().push(users); <s:iterator >
      <tr>
        <td><s:property value="id" /></td>
        <td><s:property value="name" /></td>
        <td><s:property value="age" /></td>
        <td><s:property value="sex" /></td>
      </tr>
      </s:iterator> --%>
      
    </table>
    </body>
    </html>
    
  • 相关阅读:
    Django请求生命周期
    继上一篇Django的数据库数据的编辑和删除
    NumPy-布尔索引
    NumPy-基础索引与切片
    NumPy-数组算术
    NumPy-ndarray 的数据类型
    NumPy-生成ndarray
    Django 静态资源,请求,数据库的连接和操作
    设置谷歌默认浏览器
    奋斗史-IT女生是怎样炼成的
  • 原文地址:https://www.cnblogs.com/sunxun/p/4047740.html
Copyright © 2020-2023  润新知