J'ai mis à jour mon projet à Struts2 version 2.3.20. Maintenant, tous les cas de My JSP qui utilise une méthode statique, l'accès ne fonctionne pas.
Ie. P>
<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>
3 Réponses :
Lukasz Lenart a commenté: p>
Pour être clair, dans le contexte de 2.3.20 C'est un bogue et a été corrigé temporellement, voir Problèmes.apache.org/jira/browse/ww-4429 mais à partir de 2.5 L'accès aux méthodes statiques sera supprimé. P >
blockQuote>
Autoriser la méthode statique L'accès n'a jamais été une façon préférée de faire des choses et dans du wiki : p>
Accès aux méthodes statiques forte> p>
Si vous utilisez toujours des méthodes statiques dans des expressions (réglage Soutien à l'accès aux méthodes statiques de l'expression sera désactivé prochainement, s'il vous plaît envisagez de réexprimer votre application pour éviter d'autres problèmes! Veuillez vérifier WW-4348 . P>
blockQuote>
aussi WW-4429 . P>
--- H2>
2.3.20 Code> Il ne fonctionnera pas même si
Struts.ognl.allandStaticMethAccess code> est défini sur < code> vrai code>. p>
struts.ognl.allandStaticMethaccess code> à
vrai code>) Veuillez être conscient que cela ne fonctionnera plus comme mécanisme de sécurité interne Considérez ceci comme accès à
java.lang.class code> qui figure sur la liste exclue des classes (voir ci-dessus). La solution temporaire consiste à copier ce qui précède dans votre
strats.xml code> et supprimer
java.lang.class code> à partir des classes exclues. P>
Étant donné que les méthodes statiques ne pourront pas être utilisées dans les versions futures, j'ai décidé de refroidir les parties du projet qui les utilisent. Le plus tôt le mieux. P>
Donc, dans Y "Bascer" J'ai créé les méthodes dont j'ai besoin et qu'ils appellent ces méthodes. De cette façon, seules les méthodes "sûres" que je permettent peuvent être utilisées dans le JSP. p>
Je l'ai fait travailler. Copiez les points suivants à partir de Struts-Parfault.xml Strort> et copiez-le dans supprimer seulement strong> le Mais nous faisons une stratégie de sortie pour cela. Nous mettons à conscience tous nos développeurs de ne plus utiliser l'accès statique et commencent à le supprimer (nous n'avons pas beaucoup d'endroits que cela soit utilisé)! Em> p> p> P>
cwiki.apache.org/confluence/display/ww/...
@Aleksandrm Cela nécessite une réponse absolue. Il s'agit d'une nouvelle de rupture et doit être mise en évidence autant que possible. Postez-le comme une réponse afin que nous puissions uppoter
Les notes de publication sont votre ami. Ne mettez jamais à jour aveuglément sans les lire. Cela dit, IMO C'est le mauvais endroit pour nettoyer vos données. Faites ce travail avant la couche de vue.
Pour être clair, dans le contexte de 2.3.20 C'est un bogue et a été résolu temporairement, voir .apache.org / jira / Browse / WW-4429 Mais à partir de 2.5 L'accès aux méthodes statiques sera supprimé.
S'il vous plaît voir Stackoverflow.com/Questions/28018861/... pour un travail autour