English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Metodi di configurazione delle comandi constant comuni in struts2

L'attributo struts.objectFactory viene utilizzato per spiegare la creazione del pool di oggetti di Struts2, Struts2 ha anche il proprio pool di oggetti, come Spring, puoi riferirti agli oggetti del pool di oggetti nel file di configurazione, puoi utilizzare il pool di oggetti di Spring, quando desideri ottenere il pool di oggetti di Spring, dichiarare struts.objectFactory come la fabbrica di costruzione del pool di oggetti di Spring...

L'attributo struts.serve.static.browserCache imposta se il browser deve缓存 i contenuti statici. Durante la fase di sviluppo dell'applicazione, desideriamo ottenere sempre la risposta più recente del server per ogni richiesta, quindi impostare questa proprietà su false.
L'attributo struts.enable.DynamicMethodInvocation imposta se Struts 2 supporta la chiamata di metodi dinamici. Il valore predefinito di questa proprietà è true. Se è necessario disabilitare la chiamata di metodi dinamici, impostare questa proprietà su false.
L'attributo struts.enable.SlashesInActionNames imposta se Struts 2 permette l'uso di trattini di slitta nei nomi delle azioni. Il valore predefinito di questa proprietà è false. Se il developer desidera permettere l'uso di trattini di slitta nei nomi delle azioni, può impostare questa proprietà su true.
L'attributo struts.tag.altSyntax specifica se è permesso utilizzare la sintassi espressiva nei tag Struts 2, poiché di solito è necessario utilizzare la sintassi espressiva nei tag, questa proprietà dovrebbe essere impostata su true, e il valore predefinito è true.
L'attributo struts.devMode imposta se l'applicazione Struts 2 utilizza la modalità di sviluppo. Se si imposta questa proprietà su true, è possibile visualizzare messaggi di errore più dettagliati e più amichevoli quando si verificano errori nell'applicazione. Questa proprietà accetta solo i valori true e false, e il valore predefinito è false. Di solito, durante la fase di sviluppo dell'applicazione, impostare questa proprietà su true, e quando si entra nella fase di distribuzione del prodotto, impostare questa proprietà su false.
L'attributo struts.i18n.reload imposta se il sistema ricarichi i file delle risorse ogni volta che arriva una richiesta HTTP. Il valore predefinito di questa proprietà è false. Durante la fase di sviluppo, impostare questa proprietà su true può essere più utile per lo sviluppo, ma durante la fase di distribuzione del prodotto, questa proprietà dovrebbe essere impostata su false.
Suggerimento: nel fase di sviluppo, impostare questo attributo su true per ricaricare le risorse internazionalizzate in ogni richiesta, permettendo così agli sviluppatori di vedere gli effetti in tempo reale. Durante la fase di distribuzione del prodotto, impostare questo attributo su false per migliorare le prestazioni della risposta, poiché ricaricare le risorse in ogni richiesta ridurrebbe notevolmente le prestazioni dell'applicazione.
L'attributo struts.ui.theme specifica il tema predefinito per i tag di visualizzazione, il valore predefinito di questo attributo è xhtml.
L'attributo struts.ui.templateDir specifica la posizione dei file di template necessari per il tema di visualizzazione, il valore predefinito di questo attributo è template, ovvero i template vengono caricati dalla directory template predefinita.
L'attributo struts.ui.templateSuffix specifica l'estensione del file di template, il valore predefinito di questo attributo è ftl. Questo attributo permette anche di utilizzare ftl, vm o jsp, che corrispondono rispettivamente ai template FreeMarker, Velocity e JSP.
L'attributo struts.configuration.xml.reload imposta se il sistema deve ricaricare automaticamente il file struts.xml quando questo viene modificato. Il valore predefinito di questo attributo è false.
L'attributo struts.velocity.configfile specifica la posizione del file velocity.properties richiesto dal framework Velocity. Il valore predefinito di questo attributo è velocity.properties.
L'attributo struts.velocity.contexts specifica la posizione del contesto del framework Velocity, se il framework ha più contesti, questi devono essere separati da virgole (,) in inglese.
L'attributo struts.velocity.toolboxlocation specifica la posizione del toolbox del framework Velocity.
L'attributo struts.url.http.port specifica il porto di ascolto dell'applicazione web. Questo attributo è generalmente utilizzato solo quando Struts 2 deve generare un URL (ad esempio, con il tag Url), fornendo il porto predefinito dell'applicazione web.
L'attributo struts.url.https.port è simile all'attributo struts.url.http.port, ma specifica il porto del servizio di sicurezza crittografica dell'applicazione web.
L'attributo struts.url.includeParams specifica se l'URL generato da Struts 2 includa i parametri della richiesta. Questo attributo accetta i valori none, get e all, che corrispondono rispettivamente a non includere, includere solo i parametri di tipo GET e includere tutti i parametri della richiesta.
struts.custom.i18n.resources L'attributo specifica i file di risorse internazionalizzati necessari all'applicazione Struts 2. Se ci sono più file di risorse internazionalizzati, i nomi dei file devono essere separati da virgola (,).
struts.dispatcher.parametersWorkaround Per alcuni server Java EE, non è supportato il metodo getParameterMap() di HttpServlet Request, in questo caso è possibile impostare il valore di questa proprietà su true per risolvere il problema. Il valore predefinito di questa proprietà è false. Per i server WebLogic, Orion e OC4J, di solito è necessario impostare questa proprietà su true.
L'attributo struts.freemarker.manager.classname specifica il gestore FreeMarker utilizzato da Struts 2. Il valore predefinito di questa proprietà è org.apache.struts2.views.freemarker.FreemarkerManager, che è il gestore FreeMarker integrato in Struts 2.
L'attributo struts.freemarker.wrapper.altMap supporta solo i valori true e false, il valore predefinito è true. Di solito non è necessario modificare questo valore.
L'attributo struts.xslt.nocache specifica se l'XSLT Result utilizza la cache dello stile. Durante la fase di sviluppo dell'applicazione, questo attributo di solito viene impostato su true; durante la fase di utilizzo del prodotto, questo attributo di solito viene impostato su false.
L'attributo struts.configuration.files specifica i file di configurazione predefiniti caricati dal framework Struts 2. Se si desidera specificare più file di configurazione predefiniti, i nomi dei file devono essere separati da virgola (,). Il valore predefinito di questa proprietà è struts-default.xml, struts-plugin.xml, struts.xml. Vedendo questo valore, il lettore dovrebbe capire perché il framework Struts 2 carica predefinitamente il file struts.xml.

Dettagli di struts2-plugin.xml su spring

<struts>
  <bean type="com.opensymphony.xwork2.ObjectFactory" name="spring" class="org.apache.struts2.spring.StrutsSpringObjectFactory" />
  <!-- Render la fabbrica di oggetti Spring come default automatico -->
  <constant name="struts.objectFactory" value="spring" />
  <package name="spring-default">
    <interceptors>
      <interceptor name="autowiring" class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>
      <interceptor name="sessionAutowiring" class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor"/>
    </interceptors>
  </package>  
</struts

Attenzione <constant name="struts.objectFactory" value="spring"/>

Ecco che viene sovrascritto il costante di framework struts.objectFactory con "spring", in realtà qui viene utilizzato un abbreviazione, possiamo scrivere il nome completo: org.apache.struts2.spring.StrutsSpringObjectFactory. La abbreviazione "spring" è corrispondente all'attributo name della configurazione del bean. Di default, tutti gli oggetti creati dal framework sono istanziati tramite l'istanza ObjectFactory, ObjectFactory fornisce metodi per l'integrazione con altri container IoC come Spring, Pico e così via. La classe che sovrascrive questo ObjectFactory deve ereditare la classe ObjectFactory o una qualsiasi sua sottoclasse, e deve avere un costruttore senza parametri. In questo caso usiamo org.apache.struts2.spring.StrutsSpringObjectFactory al posto del ObjectFactory di default.

Inoltre, come abbiamo detto sopra, se l'azione non viene creata utilizzando Spring ObjectFactory, il plugin fornisce due interceptors per l'autoassemblaggio dell'azione. Di default, la strategia di autoassemblaggio utilizzata dal framework è name, il che significa che il framework cercherà nel Spring un bean con lo stesso nome dell'attributo dell'azione. Le strategie di assemblaggio opzionali includono: type, auto, constructor, possiamo impostare questa configurazione tramite la costante struts.objectFactory.spring.autoWire.

In questo modo, possiamo utilizzare i Bean iniettati tramite Spring IOC nell'Action. In realtà, questa è una funzione esistente nel pacchetto di estensione di webwork. Oh oh. Dobbiamo menzionare anche questo quando passiamo a strut2.0.

Con la configurazione del file di configurazione sopra riportata, possiamo combinare Spring2.0 e struts2.0. In effetti, questa è una funzione esistente nel pacchetto di estensione di webwork. Oh oh. Dobbiamo menzionare anche questo quando passiamo a strut2.0.

Ti potrebbe interessare