要使用<s:property/>标签就要引入标签库<%@taglib prefix="s" uri="/struts-tags"%>
Ⅰ、值栈(ValueStack)中的属性值中“属性值”的两种含义:
1、对象栈(ObjectValue)的属性值
①获取对象栈中属性值的三种方式
><s:property value=“object.propertyName”/>
><s:property value=“object['propertyName']”/>
><s:property value=“object["propertyName"]”/>
②<s:property value=“[0].propertyName”/>中,[0]表示值栈中栈顶对象(如此类推[1]就是栈顶对象下面的一个对象),如果propertyName属性在栈顶对象中没有,则继续向下查找,而不是仅仅在[0]中查找;也就是说[0].propertyName中的[0]也说明了是从此位置开始向下查找相应的属性,找到为止。
2、Map 栈中的属性值:request、application的属性或者一个请求参数的属性值等等
①获取Map栈中属性值的方式:
><s:property value=“#object.propertyName”/> 如 #request.porpertyName
><s:property value=“#object['propertyName']”/>
><s:property value=“#object["propertyName"]”/>
Ⅱ、获取java类中的静态字段和静态方法
获取方式:@类的全名(如:java.lang.Math)@属性名或者方法名
在默认的情况下,是不可以调用Java中的静态方法的,用调用Java中的静态方法就在struts2.xml中设置 struts.ognl.allowStaticMethodAccess =true