2011-08-09 8 views
0

우리는 struts2 액션 클래스에서 다른 메소드를 가진 웹 애플리케이션을 개발 중입니다. 우리는 하나의 변수를 인스턴스화하고 어떤 값을 할당합니다. 우리는 다른 변수에서 그 변수 값을 사용하기를 원합니다.struts 액션 클래스로 전달되는 변수

두 가지 방법으로 가능하다고 생각합니다. 1. 정적 변수 사용. 정적 전역 변수를 사용할 때 다른 사용자도 같은 변수 값에 동시에 액세스하거나 새 사용자로 값을 무시합니다. 2. HTTP 세션 사용.

하나의 방법에서

제안하십시오 액션 클래스에서 다른 방법으로 할당 된 값을 얻을 수있는 다른 방법이 있나요.

+0

이 도움이 될 수 있습니다. http://struts.apache.org/2.0.14/docs/scope-interceptor.html –

+0

이 질문은 이해하기 어렵습니다. 다른 방법으로 다른 값을 사용하면 무엇을 의미합니까? 당신은 a) 같은 반에, b) 다른 반에 있음을 의미합니까? 일반적으로 작업간에 많은 상호 작용을해서는 안됩니다. 작업은 거의 수행하지 않아야하며 해당 기능의 상당 부분을 위임해야합니다. 레이어/계층의 관점에서 생각하면 도움이됩니다. Struts2는 프런트 엔드 문제를 처리하는 첫 번째 계층의 일부입니다. 두 번째 계층은 비즈니스 로직이가는 곳입니다. 그런 다음 종종 지속성 계층이 있습니다. 상태를 공유해야하는 것처럼 보이는 작업은 실제로 동일한 서비스/비즈니스 객체를 사용해야합니다. – Quaternion

답변

1

범위 인터셉터로 확인하십시오. 하나의 메소드 실행이 끝나면 변수 값을 스코프에 저장하고 다른 메소드를 호출하기 직전에 값을 검색합니다. 두 번째 방법은 첫 번째로 호출 될 경우

는, 단순히 매개 변수로 전달합니다

0

는 클래스의 제어 흐름에 따라 두 가지 다른 옵션이 있습니다.

조치 클래스의 각 인스턴스에 고유 한 (정적이 아닌) 변수를 사용하십시오. 첫 번째 메소드에서 값을 설정 한 다음 다른 메소드에서 값을 읽습니다.

+0

작업 클래스에 대한 인스턴스를 만들 수 없습니다. – Chandrasekhar

관련 문제