2010-06-14 4 views
0

속성 파일에서 변수를로드하는 structs 액션 객체 인스턴스가 있습니다. 액션이 처음 호출 될 때만 수행되도록하고 이후 실행에서 해당 메모리 읽기 . 어떤 힌트? 감사. - 등록 정보 파일에서 값을 읽고 액션 클래스의 정적 필드로 저장struts 1에서 변수를 한 번만로드하십시오. 액션 클래스

1 : 언뜻

답변

0

나는이 일을 적어도 두 가지 방법을 참조하십시오. 정적 이니셜 라이저는 번들을로드하고 값을 읽는 작업을 수행해야합니다. JVM에서 Action 클래스를로드하면 값을 얻고 나중에이 클래스에서 값을 사용할 수 있습니다.

public class YourAction extends Action { 
    private static String value; 
    static { 
    // value = load code here 
    } 
    ... 
} 

이로드 될 때 나는 당신이 당신의 값을 읽어 다음과 같이 뭔가를 가야 할 것이라고 생각 능력을 스트럿츠 할 수있는 권한이 없기 때문에 :

ResourceBundle.getBundle("com/some/package/bundle").getString("some_key") 

2 - 당신의 가치를 가지고 작업 인스턴스에서 설정하고 생성자로드 나중에 그냥 사용

public class YourAction extends Action { 
    private String value; 
    public YourAction() { 
    super(); 
    //value = load code here 
    } 
    ... 
} 

Struts의 모든 요청을 처리하기 위해 하나 개의 Action 인스턴스를 사용하기 때문에이 작동합니다, 그래서 모든 요청 승 귀하의 가치 (예 : Struts Action 클래스는 쓰레드에 안전하지 않으며 서블릿처럼 동작한다.

관련 문제