Object-Graph Navigation Language.对象图形化导航语言
JSP中
<%--http://localhost:8080/hello/ognl/ognl?userName=18--%>
<li>访问值栈中的action的普通属性:</li><s:property value="userName"></s:property><br>
<%--http://localhost:8080/hello/ognl/ognl?userDto.age=18--%>
<li>访问值栈中对象的普通属性(get set方法):</li><s:property value="userDto.age"></s:property><br>
<%--http://localhost:8080/hello/ognl/ognl?cat.friend.name=jude--%>
<li>访问值栈中对象的普通属性(get set方法):</li><s:property value="cat.friend.name"></s:property><br>
<%--http://localhost:8080/hello/ognl/ognl?password=123456--%>
<li>访问值栈中对象的普通方法:</li><s:property value="password.length()"></s:property><br>
<%--http://localhost:8080/hello/ognl/ognl?cat.friend.name=jude--%>
<li>访问值栈中对象的普通方法:</li><s:property value="cat.miaomiao()"></s:property><br>
<%--http://localhost:8080/hello/ognl/ognl--%>
<li>访问值栈中action的普通方法:</li><s:property value="m()"></s:property><br>
action中
public class OgnlAction extends ActionSupport{
//访问值栈中的action的普通属性
private String userName;
private String password;
// 想初始化domain model,可以自己new,也可以传参调用
// 注意在UserDto类中要保留一个参数为空的构造方法,否则Struts帮助new对象的时候不知道new哪一个
//访问值栈对象的普通属性
private UserDto userDto;
//访问值栈对象的普通属性 Cat类中包含成员变量friend(类型为Dog),Dog类中包含成员变量name(String)
private Cat cat;
public String m(){
return "hello";
}
// 省略get set方法