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属性。