如题所述
1.使用struts, 在jsp页面中,可以通过ognl访问类的静态方法。
2.如果要通过ognl访问静态方法,必须在struts.properties或者struts.xml中将选项struts.ognl.allowStaticMethodAccess设置为TRUE .
3.表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@java.lang.String@FORMAT('foo %s', 'bar') 。
页面的输出结果就是:foo bar (注:内部类用$)
案例:
<s:property VALUE="@java.lang.String@format('foo %s', 'bar')"/>
<s:property VALUE="@com.dw.knowledge.global.GGlobals$SYSTEM@WEB_ROOT"/>
<s:property VALUE="@com.dw.knowledge.global.GGlobals$SYSTEM$SystemCodeStyle@MAIL_SERVER.name()"/>
<s:property VALUE="@com.dw.knowledge.global.GGlobals$SYSTEM$SystemCodeStyle@MAIL_SERVER.ordinal()"/>
<s:property VALUE="@com.dw.knowledge.global.GGlobals@SYSTEM@containsLimitWord('22')"/>
<s:property VALUE="@com.dw.knowledge.util.CalendarUtil@getCalenDarUtilDate('1')"/>
<s:property VALUE="@com.dw.knowledge.util.CalendarUtil@format0"/>
<s:property VALUE="@com.dw.knowledge.util.CalendarUtil@format1"/>
2.如果要通过ognl访问静态方法,必须在struts.properties或者struts.xml中将选项struts.ognl.allowStaticMethodAccess设置为TRUE .
3.表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@java.lang.String@FORMAT('foo %s', 'bar') 。
页面的输出结果就是:foo bar (注:内部类用$)
案例:
<s:property VALUE="@java.lang.String@format('foo %s', 'bar')"/>
<s:property VALUE="@com.dw.knowledge.global.GGlobals$SYSTEM@WEB_ROOT"/>
<s:property VALUE="@com.dw.knowledge.global.GGlobals$SYSTEM$SystemCodeStyle@MAIL_SERVER.name()"/>
<s:property VALUE="@com.dw.knowledge.global.GGlobals$SYSTEM$SystemCodeStyle@MAIL_SERVER.ordinal()"/>
<s:property VALUE="@com.dw.knowledge.global.GGlobals@SYSTEM@containsLimitWord('22')"/>
<s:property VALUE="@com.dw.knowledge.util.CalendarUtil@getCalenDarUtilDate('1')"/>
<s:property VALUE="@com.dw.knowledge.util.CalendarUtil@format0"/>
<s:property VALUE="@com.dw.knowledge.util.CalendarUtil@format1"/>
温馨提示:答案为网友推荐,仅供参考