Struts 2 вызывает статический метод, когда struts.ognl.allowStaticMethodAccess имеет значение false
Стойки 2 устанавливаютstruts.ognl.allowStaticMethodAccess
вfalse
, по вопросам безопасности. Статический вызов метода может быть полезен в некоторых случаях, например, при работе с валидаторами выраженийStruts 2 с использованием StringUtils в выражениях валидатора.
Одним из способов решения этой проблемы является определение вспомогательного метода в действии, например, если мы хотим использоватьMath
класс, который мы должны добавить ниже:
public double randomMath(){
return Math.random();
}
public double asinMath(double a){
return Math.asin(a);
}
....
И использовать его как${randomMath}
или же${asinMath(1)}
Как вы можете видеть для каждого метода вMath
класс нам нужно определитьpublic
метод в нашем действии, с той же подписью.
Есть ли лучший способ избежать этих шаблонных добытчиков ?!