下面我们在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方法";

}