关于ValueSatck

1.在值栈中添加一个元素的属性:

package ajax.frist;
import java.sql.*;
import java.util.*;
import com.opensymphony.xwork2.ActionSupport;

public class query extends ActionSupport {
	ArrayList<user> al=new ArrayList<user>();
	public ArrayList<user> getAl() {
		return al;
	}
	public void setAl(ArrayList<user> al) {
		this.al = al;
	}
	@Override
	public String execute() throws Exception {
		Class.forName("com.mysql.jdbc.Driver");
		Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test");
		Statement st=conn.createStatement();
		ResultSet rs=st.executeQuery("select * from member");
		while(rs.next()) {
			user temp=new user();
			temp.id=rs.getString("mid");
			temp.name=rs.getString("name");
			temp.pwd=rs.getString("password");
			al.add(temp);
		}
		
		return "success";
	}

}

例如上面代码,如果希望al在值栈中出现,必须要给al添加getter和setter方法,不然这个变量al是不会出现在值栈中的。

接着我们可以通过OGNL表达式去到al中的元素和元素属性值。就像这样:

<s:property value="al[0].name"/>

得到值栈中al容器的第一个user的name属性。

原文地址:https://www.cnblogs.com/jackhub/p/3147223.html