Struts 2 chamando o método estático quando struts.ognl.allowStaticMethodAccess é false
Os suportes 2 definem ostruts.ognl.allowStaticMethodAccess
parafalse
, por questões de segurança. A invocação de método estático pode ser útil em alguns casos, por exemplo, ao lidar com validadores de base de expressãoStruts 2 usando StringUtils em expersões de validadores.
Uma maneira de resolver esse problema é definir um método auxiliar na ação, por exemplo, se quisermos usarMath
classe que devemos adicionar abaixo:
public double randomMath(){
return Math.random();
}
public double asinMath(double a){
return Math.asin(a);
}
....
E use-o como${randomMath}
ou${asinMath(1)}
Como você pode ver para todos os métodos emMath
classe precisamos definir umpublic
método em nossa ação, com a mesma assinatura.
Existe uma maneira melhor de evitar esses getters clichê ?!