1. 解释
OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,它是一种表达式语言,可以将WEB页面的元素的值和后台的javabean通过固定的语法很方便的交互。
2. 修改java类
package bean;
public class User
{
private String userName;
public String getUserName()
{
return userName;
}
public void setUserName(String userName)
{
this.userName = userName;
}
@Override
public String toString()
{
return "userName=" + userName;
}
}
package action;
import bean.User;
importcom.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport
{
private User user;
private String userName;
public String add()
throws Exception
{
return SUCCESS;
}
public User getUser()
{
return user;
}
public void setUser(User user)
{
this.user = user;
}
public String a()
{
return "a";
}
public StringgetUserName()
{
return userName;
}
public void setUserName(StringuserName)
{
this.userName = userName;
}
}
package service;
public class UserService
{
public static String userDao = "userDao";
public static String addUser()
{
return "addUser";
}
}
3. 修改useradd_success.jsp
<body>
useradd success! <br>
<s:property value="userName"></s:property><br>
<s:property value="user.userName"></s:property><br>
<s:property value="a()" /><br>
<s:property value="@service.UserService@userDao" /><br>
<s:property value="@service.UserService@addUser()" /><br>
<s:property value="@@max(6,8)" />
</body>
4. 运行
启动tomcat
页面显示:
user addsuccess!
aaaa
gaoxiang
a
userDao
addUser
8
5. 总结
1) 访问属性:value中输入action中的成员属性的值,如果是成员属性是对象,那么用”.”号访问对线属性的值,但是最重要的 是所有的成员属性和对象属性必须提供get、set方法。
2) 访问成员方法:alue中输入action中的成员方法即可。
3) 访问静态属性和方法:value中输入@类路径@静态属性或者输入@类路径@静态方法。
4) Ognl 还有很多用法比如访问集合、使用投影? ^$ 符号获取集合的元素等。