l if I want to use tag like this
<s:select label="%{getText('product.status')}" name="product.status" list="@
test.model.ProductStatus@values()" listKey="name" listValue="displayName" />
ProductStatus is a enum class,I think approval this permission is more safe than setting allowStaticMethodAccess to true.
===================================================================
--- D:/workspace/xwork/src/java/com/opensymphony/xwork2/ognl/StaticMemberAccess.java (revision 1840)
+++ D:/workspace/xwork/src/java/com/opensymphony/xwork2/ognl/StaticMemberAccess.java (working copy)
@@ -40,6 +40,12 @@
if (Modifier.isStatic(modifiers)) {
if (member instanceof Method && !getAllowStaticMethodAccess()) {
allow = false;
+ if (target instanceof Class) {
+ Class clazz = (Class) target;
+ Method method = (Method) member;
+ if (Enum.class.isAssignableFrom(clazz)&&method.getName().equals("values"))
+ allow = true;
+ }
}
}