1.Action类
package cn.gh.action06.action; import cn.gh.action06.entity.Address; import cn.gh.action06.entity.UserInfo; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.util.ValueStack; import org.apache.struts2.ServletActionContext; import java.util.ArrayList; import java.util.List; /** * Created by guo on 2017/10/27. */ public class FirstAction implements Action { /*private UserInfo u=new UserInfo();*/ public String execute() throws Exception { //01.将对象推入值栈 UserInfo u=new UserInfo(); u.setUname("郭华"); Address a=new Address(); a.setStreet("北京城"); u.setAddress(a); ValueStack valueStack = ActionContext.getContext().getValueStack(); valueStack.push( u); //02将集合推入下文 List<UserInfo> list=new ArrayList<UserInfo>(); list.add(u); valueStack.getContext().put("list",list); //03将集合推入request ServletActionContext.getRequest().setAttribute("u",u); return SUCCESS; } /* public UserInfo getU() { return u; } public void setU(UserInfo u) { this.u = u; }*/ }
2.Struts.xml文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.devMode" value="true"></constant> <package name="actionfirst" namespace="/" extends="struts-default"> <action name="first" class="cn.gh.action06.action.FirstAction"> <result name="success">/Action06/user.jsp</result> </action> </package> </struts>3.jsp页面
<%@ taglib prefix="s" uri="/struts-tags" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <s:debug/> 欢迎,<s:property value="u"></s:property><br/> ---------------------------------------<br/> <s:iterator value="list"> <s:property value="uname"></s:property> </s:iterator><br/> </body> </html>
4.结果图