web.xml文件1中相同。
1)HelloAction类中的代码:
public class HelloAction {
public String execute() {
ActionContext ctx = ActionContext.getContext();
// 仅仅只是访问和添加三个范围属性使用该方法
// ctx.getApplication().put("app", "application");
// ServletContext里放入app
// ctx.getSession().put("ses", "session");
// 往Session里注入ses
// ctx.put("req", "request");
// 往request中放入req
// 要得到某站点目录下的文件的的绝对路径
HttpServletRequest request =
ServletActionContext.getRequest();
ServletContext sevletContext =
ServletActionContext.getServletContext();
request.setAttribute("req", "请求范围属性");
request.getSession().setAttribute("ses", "回话范围属性");
sevletContext.setAttribute("app", "应用范围属性");
// 也可以使用数组存储数据
ctx.put("names", Arrays.asList("zhao", "qian", "sun", "li"));
return "success";
}
}
2)index.jsp中的代码:
<body>
<!-- 直接访问属性值 -->
${applicationScope.app }
<br> ${sessionScope.ses }
<br> ${request.req }
<br>
<!-- 使用taglib访问数组存储的属性 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"
prefix="c"%>
<c:forEach items="${names }" var="name">
${name }<br>
</c:forEach>
</body>
3)struts.xml文件的配置:
<struts>
<package name="packageName" namespace="/test"
extends="struts-default">
<action name="hello" class="test.HelloAction"
method="execute">
<result name="success">/index.jsp</result>
</action>
</package>
</struts>