struts 2 Action 에서 request, session, application 속성 에 접근 합 니 다.
5342 단어 Struts2
1. 비 Ioc 방식:
이러한 방식 은 주로 com. opensymphony. xwork 2. Action Context 류 와 org. apache. struts 2. ServletAction Context 류 를 이용 한 것 으로 구체 적 인 방법 은 다음 과 같다.
(1) servlet API 와 결합 하 는 방식 (ServletAction Context 클래스 를 통 해 직접 가 져 오기)
HttpServletRequest request = ServletActionContext.getRequest(); // request
HttpSession session = request.getSession();// session
ServletContext application = ServletActionContext.getServletContext(); // application
ServletContext application = session.getServletContext(); // application
HttpServletResponse response = ServletActionContext.getResponse(); // response
(2) servet API 와 결합 하지 않 는 방식 (ActionContext 클래스 를 통 해 직접 가 져 오기)
ActionContext context = ActionContext.getContext(); //requestScope
Map request = (Map) context.get("request"); // request
Map session = context.getSession(); // session
Map application = context.getApplication(); // application
ActionContext ctx = ActionContext.getContext();
ctx.getApplication().put("app","application ");
ctx.getSession().put("sess","session ");
ctx.put("req","request ");
2. IOC 방식:
(1) request 대상 획득:
STEP 1: 액 션 으로 ServletRequestAware 인터페이스 구현 두 번 째 단계: action 에서 HttpServletRequest 형식의 인 스 턴 스 변 수 를 설명 합 니 다. 세 번 째 단계: action 에서 ServletRequestAware 인 터 페 이 스 를 실현 하 는 setServletRequest 방법 은 실현 방식 이 간단 합 니 다. 다음 과 같 습 니 다.
//1. ServletRequestAware
public class UserAction implements ServletRequestAware {
//2. HttpServletRequest getter/setter
private HttpServletRequest request;
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
//3. ServletRequestAware setServletRequest , request request
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
}
(2) 세 션 대상 획득 (주의, 이때 session 은 SessionMap 형식):
STEP 1: action 이 Session Aware 인 터 페 이 스 를 실현 하도록 합 니 다. 두 번 째 단계: action 에서 맵 형식의 인 스 턴 스 변 수 를 설명 합 니 다. 세 번 째 단계: action 에서 Session Aware 인 터 페 이 스 를 실현 하 는 setSession 방법 은 실현 방식 이 간단 합 니 다. 다음 과 같 습 니 다.
//1. SessionAware
public class UserAction implements SessionAware {
//2. Map getter/setter
private Map session;
public Map getSession() {
return session;
}
//3. SessionAware setSession , session session
@Override
public void setSession(Map session) {
this.session = session;
}
}
(3) 애플 리 케 이 션 대상 가 져 오기:
첫 번 째 단계: action 이 ServletContextAware 인 터 페 이 스 를 실현 하도록 합 니 다. 두 번 째 단계: action 에서 ServletContext 형식의 인 스 턴 스 변 수 를 설명 합 니 다. 세 번 째 단계: action 에서 ServletContextAware 인 터 페 이 스 를 실현 하 는 setServletContext 방법 은 실현 방식 이 매우 간단 하 다. 다음 과 같다.
//1. ServletContextAware
public class UserAction implements ServletContextAware {
//2. ServletContext getter/setter
private ServletContext application;
public ServletContext getApplication() {
return application;
}
public void setApplication(ServletContext application) {
this.application = application;
}
//3. ServletContextAware setServletContext , application application
@Override
public void setServletContext(ServletContext application) {
this.application = application;
}
}
(4) response 대상 가 져 오기:
첫 번 째 단계: action 이 ServletResponse Aware 인 터 페 이 스 를 실현 하도록 합 니 다. 두 번 째 단계: action 에서 HttpServletResponse 형식의 인 스 턴 스 변 수 를 설명 합 니 다. 세 번 째 단계: action 에서 HttpServletResponse 인 터 페 이 스 를 실현 하 는 setResponse 방법 은 실현 방식 이 간단 합 니 다. 다음 과 같 습 니 다.
//1. ServletResponseAware
public class UserAction implements ServletResponseAware {
//2. HttpServletResponse getter/setter
private HttpServletResponse response;
public HttpServletResponse getResponse() {
return response;
}
public void setResponse(HttpServletResponse response) {
this.response = response;
}
//3. ServletResponseAware setServletResponse , response response
@Override
public void setServletResponse(HttpServletResponse response) {
this.response = response;
}
}
첨부: Jps 페이지 에서 Scope 대상 값 을 가 져 오 는 몇 가지 방법:
(1) ${} 형식
${applicationScope.app}
${sessionScope.sess}
${requestScope.req}
(2) 태그
(3) getAttribute () 방식
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Struts2 Result 매개 변수 상세 정보서버에 제출하는 처리는 일반적으로 두 단계로 나눌 수 있다. Struts2가 지원하는 다양한 유형의 반환 결과는 다음과 같습니다. Chain Result Action 체인 작업 Dispatcher Result Fre...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.