转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html
下面我们在com.asm.vo.User类中增加一个字段private Address addres;,并提供此字段的get/set方法,随后再在login.jsp中增加如下代码:
城
市:<input type="text" name="user.addres.city"><br>
然后再在loginSuc.jsp中增加如下代码:
获取城市属性:<s:property value="user.addres.city"/><br>
然后测试,会得到登录时输入的城市信息(中文会有乱码)。下面借助此例谈ognl的定义:在这个例子中,我们的LoginAction中有一个User对象,而在User对象中又有一个Address对象,这些对象之间依靠这种类的字段进行关联,或者说是依靠字段属性进行导航,这也就是OGNL的定义:Object
Graph Navigation Language:对象图导航图语言,它是建立在值栈技术之上的一种全新语言。
补充:用%{}可以取出存在值堆栈中的Action对象,直接调用它的方法.我们在loginSuc.jsp中增加如下内容调用LoginAction中的get方法:
调用值栈对象中的方法:<s:property
value="%{get()}"/>
LoginACtion中增加的get方法如下:
public String get(){
return "这是User中的get方法";
}