Struts2 OGNL表达式实例详解

  

对象图导航语言:对象图导航语言,就是用点来访问成员变量

        & lt;销售:属性值=" https://www.yisu.com/zixun/cat.name "/比;之前      

  例1:


  

  

struts.xml:

        & lt;包名称=="/ognl”“ognl”名称空间扩展=皊truts-default”比;   & lt;动作名称=皁g1”class=癱n.edu.hpu.action.OgnlAction1”比;   & lt; result>/ognl.jsp   & lt;/action>   & lt;/package>之前      

OgnlAction1.java:

        包cn.edu.hpu.action;   进口com.opensymphony.xwork2.ActionSupport;   公开课OgnlAction1延伸ActionSupport {   私人字符串的用户名;   私人密码字符串;   公共字符串getUsername () {   返回用户名;   }   公共空间setUsername(字符串的用户名){   这一点。用户名=用户名;   }   公共字符串getPassword () {   返回密码;   }   公共空间向setPassword(字符串密码){   这一点。密码=密码;   }   @Override   公共字符串execute()抛出异常{//TODO自动生成方法存根   返回super.execute ();   }   }      

访问链接:

        & lt; a href=" https://www.yisu.com/zixun/ognl/og1?用户名=jack&&password=111 " rel="外部nofollow”祝辞OGNL & lt; br/比;之前      

结果界面:

        OGNL成功! ! & lt; br/比;   & lt; ol>   & lt; li>访问值栈中的行动的普通属性1=& lt;销售:属性值=" https://www.yisu.com/zixun/username "/祝辞& lt;/li>   & lt; li>访问值栈中的行动的普通属性2=& lt;销售:属性值=" https://www.yisu.com/zixun/password "/祝辞& lt;/li>   & lt;/ol>   & lt;销售:debug> & lt;/s: debug>   之前      

结果显示:
  

  

OGNL成功! !
  

  

访问值栈中的行动的普通属性1=杰克
  

  

访问值栈中的行动的普通属性2=111
  

  (调试)


  ps:点击(调试)可以查看到栈值中有用户名与密码
  

  例2:


  

  

struts.xml:

        & lt;包名称=="/ognl”“ognl”名称空间扩展=皊truts-default”比;   & lt;动作名称=皍ser2”class=癱n.edu.hpu.action.UserAction2”方法=疤砑印北?   & lt;结果名称=俺晒Α痹?ognl.jsp   & lt;/action>   & lt;/package>之前      

UserAction2.java:

        包cn.edu.hpu.action;   进口cn.edu.hpu.mode.User;   公开课UserAction2 {   私人用户用户;   公共字符串添加(){   System.out.println (" name=" + user.getName ());   System.out.println(“年龄=" + user.getAge ());   返回“成功”;   }   公共用户getUser () {   返回用户;   }   公共空间setUser(用户用户){   这一点。用户=用户;   }   }      

User.java:

        包cn.edu.hpu.mode;   公开课用户{   私人字符串名称;   私人int年龄;   公共字符串getName () {   返回名称;   }   公共空间setName(字符串名称){   this.name=名称;   }   公共int getAge () {   返回年龄;   }   公共空间setAge (int年龄){   这一点。年龄=年龄;   }   }      

链接:
  

  

访问用户属性

        & lt; a href=" https://www.yisu.com/zixun/ognl/user2?user.name=tom&&user.age=21 " rel=巴獠縩ofollow”祝辞OGNL2 & lt; br/比;之前      

(只有你传user.XXXX才能构造)
  

  

结果页面:

        & lt; % @ taglib uri="/struts-tags”前缀=皊”%比;   & lt; !DOCTYPE HTML公共”——//W3C//DTD HTML 4.01过渡//EN”比;   & lt; html>   & lt; head>   & lt;基地href=" https://www.yisu.com/zixun/" rel=巴獠縩ofollow”比;   & lt; title>我的JSP ognl。jsp的起始page   & lt;/head>      & lt; body>   OGNL成功! ! & lt; br/比;   & lt; ol>   & lt; li>访问值栈中对象的普通属性(得到集方法):   & lt; br/比;   用户年龄限制:& lt;销售:属性值=" https://www.yisu.com/zixun/user.age "/祝辞| & lt;销售:属性值=" https://www.yisu.com/zixun/user[‘年龄’]”/祝辞& lt;/li>   & lt;/ol>   & lt;销售:debug> & lt;/s: debug>   & lt;/body>   & lt;/html>

Struts2 OGNL表达式实例详解