문제

나는 한동안 Struts를 사용하여 작업해 왔지만 마무리 중인 프로젝트에서 템플릿(velocity .vm 파일), 구성(struts.xml, persistence.xml)을 기본 WAR 파일에서 분리하라는 요청을 받았습니다.

다음과 같은 기본 구조가 모두 있습니다.

    application
    |-- 메타-INF            -- Some configs are here
    |-- 웹-INF             -- others here
    |   |-- classes
    |   |   |-- META-INF
    |   |   `-- mypackage
    |   |       `-- class-files
    |   `-- lib
    |-- css
    `-- 티플                 -- Template dir to be relocated

그리고 내 템플릿의 위치와 구성 파일의 위치를 ​​설정하는 방법(아마도 struts.xml에서)에 대한 문서를 찾을 수 없는 것 같습니다.

애플리케이션 서버에서도 구성을 사용해야 할 것 같습니다(Jetty 5.1.14를 사용하고 있습니다).

그렇다면 구성 방법에 대한 정보가 있습니까?

감사해요


템플릿 위치 변경에 관한 모든 것은 템플릿을 디자이너가 액세스할 수 있는 영역에 두는 것입니다. 따라서 수정이 필요한 경우 디자이너는 템플릿을 자신의 컴퓨터에 로드하고 편집하고 다시 업로드할 수 있습니다.나는 이것이 일반적인 시나리오라고 생각합니다.그래서 아마도 내 연구에서 뭔가 빠졌을 것입니다.어쩌면 내가 엉뚱한 곳에 구성하는데 집중하고 있는 건 아닐까...이견있는 사람 ?

도움이 되었습니까?

해결책

Struts 구성 파일에 대한 귀하의 질문을 올바르게 이해했다면 해당 파일은 web.xml에 지정되어 있습니다.Struts 서블릿 구성 매개변수를 찾으세요.param-value는 로드할 XML 파일의 쉼표로 구분된 목록일 수 있습니다.예:

<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
        <param-name>config</param-name>
        <param-value>
            WEB-INF/config/struts-config.xml,
            WEB-INF/config/struts-config-stuff.xml,
            WEB-INF/config/struts-config-good.xml,
            WEB-INF/config/struts-config-bad.xml,
            WEB-INF/config/struts-config-ugly.xml
        </param-value>
    </init-param>
    ...
</servlet>

이것 좀 봐 스트럿츠 가이드 5.3.2에 따라.그리고 그렇습니다. 이는 2.x에도 적용됩니다.

다른 팁

을 위한 지속성.xml, 특히, 지속성 단위를 별도의 JAR에 넣을 수 있으며, 이를 웹 애플리케이션 WAR과 별도로 배포하거나 애플리케이션 서버가 지원하는 항목에 따라 EAR 아카이브에 함께 배포할 수 있습니다.예를 들어 JBoss 매뉴얼에서는 이를 다음과 같이 설명합니다. EJB3 JAR을 사용하여 EAR 배포.

을 위한 struts-config.xml 비표준 위치를 사용하려면 이를 로드하는 Struts 코드를 재정의해야 할 것으로 예상됩니다.

Velocity 템플릿에 대해서는 잘 모르겠습니다.

일반적으로 웹 애플리케이션은 보안상의 이유로 WAR 내에서만 리소스를 로드합니다.사용할 수 있는 다른 기술이 있지만 시도해 보는 것이 더 쉬울 수도 있습니다. 웹렛, 이는 별도의 JAR에서 리소스를 로드할 수 있도록 설계된 프레임워크인 것 같습니다.

당신은 조사해야 velocity.properties WEB_INF 폴더에 파일을 넣으세요.IMHO 여기에서 변경해야 할 부분이 있습니다. 템플릿 루트 속성 변경 file.resource.loader.path.

도움이되기를 바랍니다

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