Struts2中OGNL

1:OGNL访问Java类中静态属性和静态方法

<s:property value="@java.lang.Math@PI"/>

@全类名@属性名

静态方法的话,默认是关闭的。

要先 打开。

打开的话在struts.xml中加上这句话:

<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
<s:property value="@java.lang.Math@cos(0)"/>

@全类名@方法名(参数)

2:OGNL可以为值栈中的一个属性赋值。但是在Java中要有这句话。把对象压入到栈中。   vs.push(student);

<s:property value="setName('li')"/>

展示:

<s:property value="Name"/>

Java类代码 中也有放入值栈的属性时。根据顺序显示

A:<s:property value="Name"/><br/> 
        B:<s:property value="Age"/><br/>
        C:<s:property value="Banji"/><br/>
    
        <s:property value="Name"/>
        <s:property value="setName('li')"/>
            <s:debug></s:debug>

<s:property value="setName('li')"/>
        A:<s:property value="Name"/><br/> 
        B:<s:property value="Age"/><br/>
        C:<s:property value="Banji"/><br/>
    
        <s:property value="Name"/>
        
            <s:debug></s:debug>

原文地址:https://www.cnblogs.com/bulrush/p/7739376.html