本文共 1889 字,大约阅读时间需要 6 分钟。
创建User封装数据类
在Java开发中,封装数据类是非常常见的做法,可以有效地将数据与业务逻辑分离开来,便于管理和维护。以下是基于JavaBean的规范,创建一个简单的User数据类:public class User {
private String username;private String password;public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; }
}
创建ValueStackAction逻辑操作类
在Struts框架中,Action类是处理逻辑业务的核心类。值栈(ValueStack)是一种在Struts中用于存储和传递数据的机制,可以用来实现数据的上下文存储和传递。本文将创建一个ValueStackAction用于管理用户数据:import cn.web.body.User;
import com.opensymphony.xwork2.ActionSupport;import java.util.ArrayList;import java.util.List;public class ValueStackAction extends ActionSupport {
private Listlist = new ArrayList (); public List getList() { return list; } @Override public String execute() { User user = new User(); user.setUsername("k1"); user.setPassword("hao"); list.add(user); User user1 = new User(); user1.setUsername("k2"); user1.setPassword("zms"); list.add(user1); return "success"; }
}
配置Struts.xml
Struts框架的配置文件用于定义动作和其对应的执行流程。本文中,配置文件的目的是定义一个用户管理的动作,并将执行结果返回给指定的JSP页面:/WebContent/ValueStack.jsp
第一种方式:创建JSP文件,核心代码如下
<s:property value="list[0].username" />
<s:property value="list[0].password" />第二种方式:使用iterator遍历列表
<%@ taglib prefix="s" uri="/WEB-INFtl/struts-tags.jar" %>
第三种方式:使用iterator和变量
<%@ taglib prefix="s" uri="/WEB-INFtl/struts-tags.jar" %>
流程说明:通过迭代器遍历的方式,遍历list集合中的每一个User对象,然后进行输出。在第三种方式中,我们使用Context对象
特点:该方式最为常用。遍历值栈list集合,得到每个User对象。这种方式的特点是
值栈默认是一个Map实现,里面存储的将是代码中Var属性对应的值与Key的映射关系。这种做法有助于减轻根值栈的压力,提高数据在Context中的存储效率。
转载地址:http://aeuiz.baihongyu.com/