나는 이것을 달성하는 방법을 알았습니다. Struts만으로는 속성 이름 - 값 쌍을 읽을 수 없지만 Spring과 액션 클래스를 통해 할 수 있습니다. 봄 PropertySourcesPlaceholderConfigurer
와
우리가 ${name.in.prop.file}
와 .properties
파일에서 값을 읽을 수 있습니다, 그래서 우리는 다음과 같이 Action
콩을 구성 할 때 매개 변수를 추가 할 수 있습니다 함께, 액션 클래스에서 유형 java.lang.String
의이 myWebsiteURL
을
<bean id="someAction" class="path.to.someAction" scope="session">
<property name="manager1" ref="manager1" />
<property name="manager2" ref="manager2" />
<property name="myWebsiteURL" value="${my.website.url}" />
</bean>
을 그리고, 정의 getter/setter를 사용하면 Spring에서 Action 클래스를 만들 때 myWebsiteURL
에 필요한 값을 주입 할 수 있습니다.
마지막으로이 값을 struts.xml
에서 ${myWebsiteURL}
으로 호출합니다 (작동하는 이유는 아직 조사 중이지만 작동 중입니다). 예를 들어, 당신이 쓸 수 있습니다 :
<action name="goToSomeSite" method="goToSomeSite" class="myAction">
<result name="success" type="redirect">${myWebsiteURL}</result>
....
</action>
내가 이해하지 못하는 유일한 것은, ${myWebsiteURL}
평가받을 방법이다. 봄? 스트럿츠? JSTL? (나는 프로젝트에 JSTL 라이브러리를 포함하지 않는다)
'struts.xml '이 당신의 설정이다. 구성을 사용하여 구성을 구성하는 이유는 무엇입니까? – BetaRide
어떤 차이가 있습니까? 기본적으로'struts.xml'은 다른 모든 속성 파일 *입니다. –
이 URL 때문에 저장소에 세 가지 버전의 코드를 유지해야합니다. 속성 파일에서 URL을 읽을 수 있다면 프로젝트의 복사본 하나만 유지하면됩니다. 그것은 기본적으로 다른 환경에서 테스트 목적을위한 것입니다. –