index.jsp
:
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="TestActionContext.action?name=atguigu">Test ActionContext</a>
<br><br>
<a href="TestAware.do?name=atguigu">Test Aware</a>
<br><br>
<a href="testActionSupport.do">Test ActionSupport</a>
<br><br>
<a href="testResult.do?number=4">Test Result</a>
<br><br>
<a href="testDynamicMethodInvocation.do">Test DynamicMethodInvocation</a>
<%
if(application.getAttribute("date") == null)
application.setAttribute("date", new Date());
request.setAttribute("req", "reqvalue");
%>
</body>
</html>
新建一个 TestAwareAction
类:
package com.atguigu.struts2.action;
import java.util.Map;
import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.ParameterAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
public class TestAwareAction implements ApplicationAware, SessionAware, RequestAware,
ParameterAware{
public String execute(){
//1. 向 application 中加入一个属性: applicationKey2 - applicationValue2
application.put("applicationKey2", "applicationValue2");
//2. 从 application 中读取一个属性 date, 并打印.
System.out.println(application.get("date"));
return "success";
}
public String save(){
return null;
}
private Map<String, Object> application;
@Override
public void setApplication(Map<String, Object> application) {
this.application = application;
}
@Override
public void setParameters(Map<String, String[]> parameters) {
}
@Override
public void setRequest(Map<String, Object> request) {
// TODO Auto-generated method stub
}
@Override
public void setSession(Map<String, Object> session) {
// TODO Auto-generated method stub
}
}
在 struts.xml
中配置:
<action name="TestAware"
class="com.atguigu.struts2.action.TestAwareAction">
<result>/test-aware.jsp</result>
</action>
然后新建一个 test-aware.jsp
页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h4>Test Aware Page</h4>
application: ${applicationScope.applicationKey2 }
</body>
</html>