Cette propriété Struts.ObjectFactory est utilisée pour illustrer l'usine de création de pool d'objets de Struts2. Struts2 a également son propre pool d'objets. Tout comme Spring, vous pouvez vous référer aux objets du pool d'objets dans le fichier de configuration. Vous pouvez utiliser le pool d'objets au printemps. Lorsque vous souhaitez obtenir le pool d'objets au printemps, déclarez que Strut.ObjectFactory est le pool d'objets au printemps.
struts.serve.static.browsercache cette propriété définit si le navigateur cache un contenu statique. Lorsque l'application est en phase de développement, nous voulons que chaque demande obtienne la dernière réponse du serveur, nous pouvons donc définir cette propriété sur FALSE.
struts.enable.damicMethodInvocation Cette propriété définit si Struts 2 prend en charge les appels de méthode dynamique, et la valeur par défaut de cette propriété est vraie. Si vous devez désactiver les appels de méthode dynamique, vous pouvez définir cette propriété sur FALSE.
Struts.enable.slashesInactionNames Cette propriété définit si Struts 2 permet d'utiliser des barres obliques dans les noms d'action. La valeur par défaut de cette propriété est fausse. Si le développeur veut autoriser les barres obliques dans le nom d'action, la propriété peut être définie sur true.
struts.tag.altsyntax Cette propriété spécifie l'opportunité de permettre la syntaxe d'expression dans les étiquettes de Struts 2. Parce que la syntaxe d'expression est généralement requise dans les balises, cette propriété doit être définie sur true et la valeur par défaut de cette propriété est vraie.
struts.devmode Cette propriété définit si l'application Struts 2 utilise le mode de développement. Si cette propriété est définie sur true, des invites d'erreur de plus en plus conviviales peuvent être affichées lorsqu'une erreur se produit sur une application. Cette propriété n'accepte que deux valeurs: True et Flase, et la valeur par défaut de cette propriété est fausse. Habituellement, lorsque l'application est au stade de développement, la propriété est définie sur TRUE, et lorsqu'elle entre dans l'étape de libération du produit, la propriété est définie sur False.
struts.i18n.reload Cette propriété définit si le système recharge le fichier de ressources chaque fois qu'une demande HTTP arrive. La valeur par défaut de cette propriété est fausse. La définition de cette propriété sur true pendant la phase de développement sera plus propice au développement, mais elle devrait être définie sur False pendant la phase de libération du produit.
L'invite est de définir True au stade de développement, qui rechargera le fichier de ressources internationales à chaque fois que vous demandez, afin que les développeurs puissent voir des effets de développement en temps réel; L'étape de libération du produit doit définir cette propriété sur FALSE pour fournir des performances réactives. Le rechargement du fichier de ressources pour chaque demande réduira considérablement les performances de l'application.
strut.ui.theme cette propriété spécifie le thème de vue par défaut de la balise de vue, et la valeur par défaut de cette propriété est xhtml.
strut.ui.templatedir Cette propriété spécifie l'emplacement du fichier de modèle requis pour le thème de la vue. La valeur par défaut de cette propriété est le modèle, c'est-à-dire que le fichier de modèle sous le chemin du modèle est chargé par défaut.
struts.ui.templateuffix Cette propriété spécifie le suffixe du fichier de modèle, et la valeur de propriété par défaut de cette propriété est FTL. Cette propriété permet également l'utilisation de FTL, VM ou JSP, correspondant aux modèles Freemarker, Velocity et JSP, respectivement.
struts.configuration.xml.reload Cette propriété définit si le système rechargera automatiquement le fichier après la modification du fichier strut.xml. La valeur par défaut de cette propriété est fausse.
strut.velocity.configfile Cette propriété spécifie l'emplacement du fichier VELOCITY.Properties requis par le cadre Velocity. La valeur par défaut de cette propriété est Velocity.Properties.
strut.velocity.contexts Cette propriété spécifie la position de contexte du cadre de vitesse. Si le cadre a plusieurs contextes, les multiples contextes sont séparés par des virgules anglaises (,).
strut.velocity.toolboxlocation Cette propriété spécifie l'emplacement de la boîte à outils du cadre de vitesse.
struts.url.http.port Cette propriété spécifie le port d'écoute sur lequel se trouve l'application Web. Cette propriété n'a généralement pas beaucoup d'utilisateurs, mais uniquement lorsque Struts 2 doit générer une URL (telle qu'une balise URL), cette propriété fournit le port par défaut pour l'application Web.
struts.url.https.port Cette propriété est similaire au rôle de la propriété struts.url.http.port, la différence est que cette propriété spécifie le port de service de chiffrement de l'application Web.
struts.url.includeparams Cette propriété spécifie si Struts 2 contient des paramètres de demande lors de la génération de l'URL. Cette propriété accepte trois valeurs d'attribut: Aucun, Get and All, qui correspondent à ne pas inclure, y compris uniquement les paramètres de demande de type Get et y compris tous les paramètres de demande.
strut.custom.i18n.resources Cette propriété spécifie le fichier de ressources internationales requis par les applications Struts 2. S'il existe plusieurs fichiers de ressources internationales, les noms de fichiers de plusieurs fichiers de ressources sont séparés par des virgules anglaises (,).
strut.dispatcher.Parametersworkaround Pour certains serveurs Java EE, la demande de demande HTTPServlet GetParametermap () n'est pas prise en charge. À l'heure actuelle, vous pouvez définir la valeur de la propriété sur TRUE pour résoudre le problème. La valeur par défaut de cette propriété est fausse. Pour les serveurs WebLogic, Orion et OC4J, cette propriété doit généralement être définie sur true.
strut.freemarker.manager.classname Cette propriété spécifie le gestionnaire FreeMarker utilisé par Struts 2. La valeur par défaut de cette propriété est org.apache.struts2.views.freMarker.freMarkerManager, qui est le manager FreeMarker intégré pour STRUTS 2.
strut.freemarker.wrapper.altmap Cette propriété ne prend en charge que deux valeurs d'attribut: true and false, et la valeur par défaut est vraie. Habituellement, il n'est pas nécessaire de modifier la valeur de la propriété.
strut.xslt.nocache Cette propriété spécifie si le résultat XSLT utilise le cache de feuille de style. Cette propriété est généralement définie sur True lorsque l'application est au stade de développement; Cette propriété est généralement définie sur False lorsque l'application est dans l'étape d'utilisation du produit.
strut.configuration.Files Cette propriété spécifie le fichier de configuration chargé par le cadre Struts 2 par défaut. Si vous devez spécifier que plusieurs fichiers de configuration sont chargés par défaut, les noms de fichiers de plusieurs fichiers de configuration sont séparés par des virgules anglaises (,). La valeur par défaut de cette propriété est Struts - Default.xml, Struts-Plugin.xml, Strut.xml. Lorsque vous voyez la valeur de cette propriété, les lecteurs doivent comprendre pourquoi le framework Struts 2 charge le fichier strut.xml par défaut.
Explication détaillée du printemps dans Struts2-Plugin.xml
<trutts> <bean type = "com.opensemphony.xwork2.ObjectFactory" name = "Spring" /> <! - Faites de l'usine de l'objet Spring la valeur par défaut automatique -> <constante name = "strut.objectfactory" value = "Spring" /> <package name = "Spring-Default"> <interceptor name = "Autowiring" /> <interceptor name = "sessionAutowirs" </ package> </ Struts
Remarque <constante name = "structS.ObjectFactory" value = "printemps" />
Ici, il écrase le cadre constant de struts.ObjectFactory et le définit sur "Spring". En fait, l'abréviation est utilisée ici. Nous pouvons écrire le nom complet: org.apache.struts2.spring.strutsspringObjectFactory. L'abréviation "Spring" correspond à l'attribut de nom dans la configuration du bean. Par défaut, tous les objets créés par le framework sont instanciés par ObjectFactory, qui fournit des méthodes pour intégrer à d'autres conteneurs IOC tels que Spring, PICO, etc. La classe qui remplace ce objetFactory doit hériter de la classe objetfactory ou de toute sous-classe de celui-ci, et doit transporter un constructeur sans paramètres. Ici, nous utilisons org.apache.struts2.spring.strutsspringObjectFactory au lieu de l'objetFactory par défaut.
De plus, nous avons dit ci-dessus que si l'action n'est pas créée à l'aide de Spring ObjectFactory, le plug-in fournit deux intercepteurs pour assembler automatiquement l'action. Par défaut, la stratégie d'assemblage automatique utilisée par le framework est le nom, ce qui signifie que le framework recherchera des fèves avec le même nom que l'attribut d'action au printemps. Les stratégies d'assemblage facultatives incluent: Type, Auto et Constructor. Nous pouvons le définir sur les structures constantes.ObjectFactory.spring.Autowire.
De cette façon, nous pouvons utiliser les haricots injectés dans le Spring IOC en action. En fait, il s'agit d'une fonctionnalité dans le package d'extension que le travail Web est depuis longtemps disponible. hehe. Si vous passez à Strut2.0, vous devez toujours le dire.
Avec le fichier de configuration ci-dessus, nous pouvons combiner Spring 2.0 et Struts 2.0.