【Struts2框架】第三节OGNL表达式-OGNL表达式例子2
2015-07-26 18:10
465 查看
1.OGNL静态访问例子
struts.xml:
IndexAction1.java:
S.java
链接:
结果界面:
结果:
访问值栈中静态方法:static method
访问值栈中静态属性:STATIC STRING
常用类的静态方法也可以访问(加两个@)
结果页面:
结果:
访问Math类的静态方法:5
2.OGNL访问普通类的构造方法
struts.xml:
OgnlAction3.java:
Dog.java:
链接:
结果页面:
结果:
访问普通类的构造方法:dog:tom
转载请注明出处:http://blog.csdn.net/acmman/article/details/47070019
struts.xml:
<struts> <!--允许静态方法的执行--> <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant> <package name="ognl" namespace="/ognl" extends="struts-default"> <action name="ss" class="cn.edu.hpu.action.IndexAction1"> <result name="success">/ognl.jsp</result> </action> </package> </struts>
IndexAction1.java:
package cn.edu.hpu.action; public class IndexAction1 { public String execute(){ return "success"; } }
S.java
package cn.edu.hpu.ognl; public class S { public static String STR="STATIC STRING"; public static String s(){ return "static method"; } }
链接:
访问静态方法:<a href="<%=basePath%>ognl/ss">OGNL6</a><br/> 访问静态属性:<a href="<%=basePath%>ognl/ss">OGNL7</a><br/>
结果界面:
<!--访问方式:@+包名+@+方法名或者属性名--> <li>访问值栈中静态方法:<s:property value="@cn.edu.hpu.ognl.S@s()"/><br/> <li>访问值栈中静态属性:<s:property value="@cn.edu.hpu.ognl.S@STR"/><br/>
结果:
访问值栈中静态方法:static method
访问值栈中静态属性:STATIC STRING
常用类的静态方法也可以访问(加两个@)
结果页面:
<li>访问Math类的静态方法:<s:property value="@@max(3,5)"/><br/>
结果:
访问Math类的静态方法:5
2.OGNL访问普通类的构造方法
struts.xml:
<package name="ognl" namespace="/ognl" extends="struts-default"> <action name="dog" class="cn.edu.hpu.ognl.OgnlAction3"> <result name="success">/ognl.jsp</result> </action> </package>
OgnlAction3.java:
package cn.edu.hpu.ognl; import cn.edu.hpu.mode.Dog; import com.opensymphony.xwork2.ActionSupport; public class OgnlAction3 extends ActionSupport{ private Dog dog; public Dog getDog() { return dog; } public void setDog(Dog dog) { this.dog = dog; } @Override public String execute() throws Exception { // TODO Auto-generated method stub return "success"; } }
Dog.java:
package cn.edu.hpu.mode; public class Dog { private String name; public Dog(){ } public Dog(String name){ super(); this.name=name; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { // TODO Auto-generated method stub return "dog:"+name; } }
链接:
访问普通类的构造方法:<a href="<%=basePath%>ognl/dog">OGNL8</a><br/>
结果页面:
<li>访问普通类的构造方法: <s:property value="new cn.edu.hpu.mode.Dog('tom')"/><br/>
结果:
访问普通类的构造方法:dog:tom
转载请注明出处:http://blog.csdn.net/acmman/article/details/47070019
相关文章推荐
- java的死锁学习
- 【Struts2框架】第三节OGNL表达式-OGNL表达式例子
- java进阶
- Java新手问题集锦
- Excel导出java实例(有模板)
- 调试JMeter的JAVA sampler
- 记一次在mac上配置Maven 的JAVA_HOME的惨痛经历
- 研究spring原理的心得
- 关于Eclipse(MyEclipse)中一次性批量导入多个项目Project.
- java反射机制,实例
- Java泛型学习笔记
- JavaWeb学习笔记:ServletConfig()和ServletContext()
- java它们的定义jar套餐读Excel(这包括2003和2007)数据,和实例
- 关于启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!
- Java的string类为什么是不可变的
- java实现随机生成UUID
- 在spring环境下集成ActiveMQ
- java编程思想——抽象类
- java基础-jdbc——三种方式加载驱动建立连接
- 【Java EE 学习 15】【自定义数据库连接池之动态代理的使用】