2008-08-30 14 views
3

Ich habe mit Struts seit einiger Zeit gearbeitet, aber für ein Projekt, das ich beende, wurde ich gebeten, Templates (Velocity .vm-Dateien), configs (struts.xml, Persistenz) zu trennen. xml) aus der WAR-Hauptdatei.Ändern der Standard-Dateistruktur in einer Java Struts App

Ich habe alle in Standardstruktur wie:

 
    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 

Und ich kann offenbar keine Dokumentation dazu, wie die Einrichtung (wahrscheinlich in struts.xml), wo meine Vorlagen gehen, und wo Konfigurationsdateien sein.

Ich denke, ich werde Konfigurationen auf dem Anwendungsserver auch verwenden müssen (ich verwende Jetty 5.1.14).

Also, irgendwelche Lichter, wie man es konfiguriert?

Dank


Nun, die ganze Sache zu Vorlagen Platz Ändern der Vorlagen in einem Designer zugänglichen Bereich zu setzen, so dass jede Änderung erforderlich, der Designer, sie zu seinem/ihrem Computer, bearbeiten laden können, und lade es erneut hoch. Ich denke, das ist ein häufiges Szenario. Also, wahrscheinlich fehlt mir etwas in meiner Forschung. Vielleicht konzentriere ich mich darauf, es am falschen Ort zu konfigurieren ... Irgendwelche Gedanken?

Antwort

1

Wenn ich Ihre Frage zu Struts-Konfigurationsdateien richtig verstanden, sie in web.xml angegeben sind. Suchen Sie den Struts-Servlet-Konfigurationsparameter. Der Parameterwert kann eine Liste von durch Kommas getrennten Listen von zu ladenden XML-Dateien sein. ZB:

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

Siehe hierzu Struts guide unter 5.3.2. Und ja, das gilt auch für 2.x.

0

Für persistence.xml, speziell, können Sie eine Persistenzeinheit in einem separaten JAR stellen, die Sie getrennt von Ihrer Web-Anwendung IST bereitstellen können, oder beide zusammen in einem EAR-Archiv, je nachdem, was Ihre Anwendungsserver unterstützen . Zum Beispiel beschreibt das JBoss Handbuch dies als Deploy EAR with EJB3 JAR.

Für struts-config.xml Ich erwarte, dass Sie den Struts-Code, der es lädt, überschreiben müssen, wenn Sie einen nicht standardmäßigen Speicherort verwenden möchten.

Ich weiß nicht über die Velocity-Vorlagen.

Im Allgemeinen laden Webanwendungen aus Sicherheitsgründen nur Ressourcen aus dem WAR. Es gibt andere Techniken, die Sie verwenden können, aber Sie finden es möglicherweise einfacher zu versuchen weblets, die ein Framework zu sein scheint, mit dem Sie Ressourcen aus einem separaten JAR laden können.

0

Sie müssen sich in velocity.properties Datei in Ihrem WEB_INF suchen folder.IMHO es hier, wo Sie Ihre Vorlage root ändern müssen die Eigenschaft file.resource.loader.path ändern.

Hoffe, dass es hilft, Petr