2008-08-30 12 views
3

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

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

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

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

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

Итак, какие-либо огни о том, как его настроить?

Благодаря


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

ответ

1

Если я понял ваш вопрос о 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> 

См. Это Struts guide под 5.3.2. И да, это относится и к 2.x.

0

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

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

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

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

0

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

Надеется, что это помогает, Petr