Изменение структуры файлов по умолчанию в приложении Java Struts - PullRequest
3 голосов
/ 30 августа 2008

Я работал со Struts в течение некоторого времени, но для проекта, который я заканчиваю, меня попросили отделить шаблоны (скорость .vm файлы), конфиги (struts.xml, persistence.xml) от основного файла WAR.

У меня есть все в структуре по умолчанию, как:

    application
    |-- <i><b>META-INF</b></i>            -- Some configs are here
    |-- <i><b>WEB-INF</b></i>             -- others here
    |   |-- classes
    |   |   |-- META-INF
    |   |   `-- mypackage
    |   |       `-- class-files
    |   `-- lib
    |-- css
    `-- <i><b>tpl</b></i>                 -- Template dir to be relocated

И я, по-видимому, не могу найти документацию о том, как настроить (вероятно, в struts.xml), куда идут мои шаблоны и где будут находиться файлы конфигурации.

Думаю, мне придется использовать конфигурации и на сервере приложений (я использую Jetty 5.1.14).

Итак, есть ли какие-нибудь индикаторы о том, как это настроить?

Спасибо


Ну, все, что касается смены шаблонов, заключается в том, чтобы поместить шаблоны в доступную для дизайнера область, чтобы при любой модификации дизайнер мог загрузить их на свой компьютер, отредактировать и снова загрузить. Я думаю, что это распространенный сценарий. Так что, вероятно, я что-то упустил в своем исследовании. Может быть, я сконцентрировался на настройке его в неправильном месте ... Есть мысли?

Ответы [ 3 ]

1 голос
/ 24 октября 2008

Если я правильно понял ваш вопрос о конфигурационных файлах Struts, они указаны в web.xml. Найдите параметр конфигурации сервлета Struts. Параметр-значение может быть списком 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.

0 голосов
/ 13 октября 2008

Вам нужно просмотреть файл velocity.properties в папке WEB_INF. Именно здесь вам нужно изменить корневой шаблон , изменив свойство file.resource.loader.path.

Надеюсь, это поможет, Petr

0 голосов
/ 30 августа 2008

Для persistence.xml , в частности, вы можете поместить модуль персистентности в отдельный JAR-файл, который можно развернуть отдельно от WAR вашего веб-приложения или вместе в архиве EAR, в зависимости от Сервер приложений поддерживает. Например, руководство JBoss описывает это как Развертывание EAR с EJB3 JAR .

Для struts-config.xml Я ожидаю, что вам придется переопределить код Struts, который его загружает, если вы хотите использовать нестандартное расположение.

Я не знаю о шаблонах Velocity.

Как правило, веб-приложения загружают ресурсы только из WAR, в целях безопасности. Существуют и другие методы, которые вы можете использовать, но вам может быть проще попробовать weblets , который, кажется, является структурой, предназначенной для загрузки ресурсов из отдельного JAR.

...