7
votes

STRUTS2 2.3.20 OGANL ALLERYSTATICMETHODACCESS

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


5 commentaires

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


3 Réponses :


7
votes

mise à jour

Lukasz Lenart a commenté:

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

---

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 2.3.20 Il ne fonctionnera pas même si Struts.ognl.allandStaticMethAccess est défini sur < code> vrai .

du wiki :

Accès aux méthodes statiques

Si vous utilisez toujours des méthodes statiques dans des expressions (réglage struts.ognl.allandStaticMethaccess à vrai ) Veuillez être conscient que cela ne fonctionnera plus comme mécanisme de sécurité interne Considérez ceci comme accès à java.lang.class 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 et supprimer java.lang.class à partir des classes exclues.

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 .

aussi WW-4429 .


0 commentaires

0
votes

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

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.


0 commentaires

2
votes

Je l'ai fait travailler. Copiez les points suivants à partir de Struts-Parfault.xml et copiez-le dans Strubs.xml de votre application.xml. xxx

supprimer seulement le java.lang.class d'en haut. Enregistrez, compiler, créer et déployer. Jours heureux!

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é)!


0 commentaires