Question

Je travaille avec Struts depuis un certain temps, mais pour un projet que je termine, on m'a demandé de séparer les modèles (fichiers vélocité .vm), les configurations (struts.xml, persistence.xml) du fichier WAR principal.

J'ai tout dans la structure par défaut comme :

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

Et je ne trouve apparemment pas de documentation sur la façon de configurer (probablement dans struts.xml) où vont mes modèles et où seront les fichiers de configuration.

Je pense que je devrai également utiliser les configurations sur le serveur d'applications (j'utilise Jetty 5.1.14).

Alors, des idées sur la façon de le configurer ?

Merci


Eh bien, le tout concernant le changement d'emplacement des modèles consiste à placer les modèles dans une zone accessible au concepteur, de sorte que toute modification nécessaire, le concepteur puisse les charger sur son ordinateur, les modifier et les télécharger à nouveau.Je pense que c'est un scénario courant.Donc, il me manque probablement quelque chose dans mes recherches.Peut-être que je me concentre sur sa configuration au mauvais endroit...Des pensées ?

Était-ce utile?

La solution

Si j'ai bien compris votre question sur les fichiers de configuration Struts, ils sont spécifiés dans web.xml.Recherchez le paramètre de configuration du servlet Struts.La valeur du paramètre peut être une liste de fichiers XML séparés par des virgules à charger.Par exemple:

<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>

Regarde ça Guide des jambes de force sous 5.3.2.Et oui, cela s'applique également à 2.x.

Autres conseils

Pour persistance.xml, plus précisément, vous pouvez placer une unité de persistance dans un JAR distinct, que vous pouvez déployer séparément de votre application Web WAR, ou les deux ensemble dans une archive EAR, en fonction de ce que votre serveur d'applications prend en charge.Par exemple, le manuel JBoss décrit cela comme suit : Déployer EAR avec EJB3 JAR.

Pour struts-config.xml Je m'attends à ce que vous deviez remplacer le code Struts qui le charge si vous souhaitez utiliser un emplacement non standard.

Je ne connais pas les modèles Velocity.

En général, les applications Web chargent uniquement les ressources du WAR, pour des raisons de sécurité.Il existe d'autres techniques que vous pouvez utiliser, mais vous trouverez peut-être plus facile d'essayer weblets, qui semble être un framework conçu pour vous permettre de charger des ressources à partir d'un JAR distinct.

Vous devez examiner velocity.properties fichier dans votre dossier WEB_INF. À mon humble avis, c'est ici que vous devez modifier votre racine du modèle changer de propriété file.resource.loader.path.

J'espère que ça aide, Petr

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top