문제

struts2 아래에있는 참조 헤더를 어떻게 얻을 수 있습니까? 지금은 ActionSupport 클래스를 사용하고 있으며 ServleTactionContext 객체를 얻거나 ServletRequestAware 인터페이스를 구현할 수없는 것 같습니다. (struts2의 servletrequestaware는 어디에 있습니까?

세션 변수에 저장된 페이지 참조 자로 자동 리디렉션을 설정하려고합니다. 누군가가 OAUTH 인증을 요청하면 세션에 참조자를 저장 한 다음 트위터로 보냅니다. 그들이 허용을 클릭하면 Twitter는 내 Oauth 콜백 URL로 보냅니다. 나는 그곳에서 일하고 (지속적인 액세스 토큰) 세션에 저장된 참조 자로 보내고 싶습니다.

당신이 말할 수 있듯이, 나는 스트럿을 매우 새롭게합니다. 나는 3 시간 이상 자바 문서를 읽고, 인터넷 검색을하고, 그렇지 않으면 나에게 진노를 피하려고 노력했다. 움츠리다

감사!

도움이 되었습니까?

해결책

행동에서 HTTP 요소를 참조하기 위해 "냉증"으로 간주되지만 필요합니다 ....

org.apache.struts2.interceptor.
                         ServletRequestAware.setServletRequest(HttpServletRequest request);

인터페이스를 구현하고 작성하십시오 HttpServletRequest 멤버 변수를 한 다음 위의 구현 된 세터의 요청으로 멤버 변수를 설정하십시오. 이제 당신은 요청이 있고 당신은 당신의 request.getHeader("referer").

어떤 사람들은 또한 정적 방법을 사용합니다 org.apache.struts2.ServletActionContext.getRequest() 요청을 받으려면. 단위 테스트를 더 어렵게 만들 수 있기 때문에 나쁜 형태로 간주되지만 항상 볼 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top