2014-09-15 3 views
0

Struts2.x를 사용하고 있습니다. Struts는 요청에 따라 액션에 선언 된 Bean 객체를 생성하므로 액션에 사용할 수 있습니다. Struts가 내부적으로 bean 객체를 생성하기 위해 사용하는 인터셉터/클래스를 이해하기 위해 연구했습니다. 나는 bean 객체의 생성을 위해 내부적으로 사용되는 로직을 이해하려고 노력하고있다. 콩 또는 다른 방법으로 속성을 채우는 데 PropertyUtils을 사용합니까? 독서를위한 제안이나 조언이 도움이 될 것입니다.Struts는 액션 빈을 어떻게 생성합니까?

답변

0

내부적으로 Struts는 ObjectFactory을 사용하여 구성에서 정의한 모든 개체를 만듭니다. ObjectFactory 문서 또는 The Struts 2 Request Flow에 대해 자세히 알아보십시오.

params 인터셉터를 사용하여 일부 bean을 채울 때 OGNL의 도움으로 객체가 없으면 기본적으로 객체를 만듭니다. 또한 구성 가능합니다.

PropertyUtils은 Struts2 코어에서 사용되지 않지만 commons-beanutils 패키지가 필요하면 플러그인에서 사용할 수 있습니다.

+0

[ObjectFactory] (http://grepcode.com/file/repo1.maven.org/maven2/com.opensymphony/xwork/2.1.3/com/opensymphony/xwork2/ObjectFactory.java/)에는 다음과 같은 내용이 있습니다. 메서드 public public class buildBean (Class, Map ),이 클래스의 새 인스턴스를 반환합니다. [ParametersInterceptor] (http://struts.apache.org/release/2.3.x/docs/parameters-interceptor.html)는 action 속성을 기반으로 action.setModelClass()를 설정하고 허용 된 params를 푸시합니다 valueStack,하지만 여전히 맵에서 값을 만든 개체로 설정되어 검색입니다. – Manny

+0

이 인터셉터와 OGNL에 대해 더 자세히 읽어야합니다. –