Альтернативы устаревшему Spring ExpressionEvaluationUtils оценивают методы?
Так как класс:org.springframework.web.util.ExpressionEvaluationUtils устарела с момента выпуска Spring 3.x, я ищу другую альтернативу для оценки выражений EL в моем Java-коде.
После прочтения документации JSP 2.x мне удалось создать альтернативный метод:
import javax.el.ELContext;
import javax.el.ExpressionFactory;
import javax.el.ValueExpression;
import javax.servlet.jsp.JspApplicationContext;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspFactory;
import javax.servlet.jsp.PageContext;
public class ExpressionEvaluationUtils {
public static Object evaluate(String exp, Class<?> resultClass, PageContext pageContext)
throws JspException {
if (pageContext == null){
return exp;
}
ELContext elContext = pageContext.getELContext();
JspFactory jf = JspFactory.getDefaultFactory();
JspApplicationContext jac = jf
.getJspApplicationContext(pageContext.getServletContext());
ExpressionFactory ef = jac.getExpressionFactory();
ValueExpression val = ef.createValueExpression(elContext, exp, resultClass);
return val.getValue(elContext);
}
}
Можете ли вы предложить больше альтернатив моей реализации?