이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 12800|회답: 5

[자바EE] Struts2 커스텀 인터셉터

[링크 복사]
게시됨 2014. 12. 28. 오후 9:32:45 | | |
1. 먼저 행동을 작성한다

패키지 액션; public class InterceptorAction { public String fun1() { return "ok";        }}


2. 액션 구성

        <패키지 이름="base" extends="struts-default"> <global-results> <결과 이름="message">/index.jsp</result> <결과 이름="message">/WEB-INF/page/message.jsp </result> </global-results><패키지 </package> 이름="delversi" 네임스페이스="/test" extends="base"> <interceptors>                <interceptor name="permission" class="interceptor.InterceptorDemo"></interceptor> <interceptor-stack name="permissionStack"> <interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="permission"></interceptor-ref> </interceptor-stack> </interceptors>        <action name="interceptor_*" class="action.InterceptorAction" 메서드="{1}"> <interceptor-ref name="permission"></interceptor-ref> <결과 이름="ok">/ddd.jsp</result>        </action>
인터셉터 스택은 시스템 내장 인터셉터를 사용할 수 있도록 정의되어 있습니다

3. 허가 차단기 작성

패키지 인터셉터; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.Interceptor; public class InterceptorDemo는 Interceptor를 구현합니다 { public void destroy() { // TODO 자동 생성 메서드 stub } public void init() { // TODO 자동 생성 메서드 stub } public 문자열 intercept(ActionInvocation invocation) Exception throws { System.out.println("Enter interceptor"); }                if (ActionContext.getContext().getSession().get("user") !=null ) { return invocation.invoke();                }else { ActionContext.getContext().put("message", "no permission");                        "메시지"를 반환;                }                        }}로그인 후 정상으로 돌아왔고, 아니면 메시지를 반환했습니다

4. jsp 작성 후 사용자를 세션에 주입합니다

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><% request.getSession().setAttribute("user","111");%>



재인쇄 출처를 명시해 주세요http://blog.csdn.net/z1104222568/article/details/42218125

댓글

사진을 삭제하기 위해  2014-12-29 10:16에 게시됨




이전의:인도네시아 관계자: 실종된 에어아시아 항공편은 조난 신호를 보내지 않았다
다음:광시 헤치에서 발생한 거름 흡입 트럭 폭발로 인해 사람들의 질이 향상되었다
게시됨 2014. 12. 28. 오후 9:39:26 |
사진이 잘못되어 불러오지 않습니다
 집주인| 게시됨 2014. 12. 29. 오전 12:25:29 |
관리자가 2014-12-28 21:39에 게시됨
사진이 잘못되어 불러오지 않습니다

제 블로그에서 복사한 내용입니다
 집주인| 게시됨 2014. 12. 29. 오전 12:25:30 |
관리자가 2014-12-28 21:39에 게시됨
사진이 잘못되어 불러오지 않습니다

제 블로그에서 복사한 내용입니다
 집주인| 게시됨 2014. 12. 29. 오전 12:25:32 |
관리자가 2014-12-28 21:39에 게시됨
사진이 잘못되어 불러오지 않습니다

제 블로그에서 복사한 내용입니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com