概述
1. OGNL简介
- 全称:Object Graphic Navigation Language(对象图导航语言)、
- 是struts默认的表达式语言
- 使用OGNL表达式,必须使用struts标签库
- 相当于JSP的EL表达式,都是从作用域中取值
2. OGNL简单使用
- <s:property>将其属性value的值直接输出到页面
- jsp设置属性表达式:【<jsp:setProperty property="" name=""/>】
- value的值就是一个OGNL表达式,它不是一个字符串
- 若value的值为字符串输出,将其值加单引号即可
- 使用前需要在jsp页面导入struts标签库
<%--
输出字符串 'OGNL表达式'
--%>
<s:property value="'OGNL表达式'"></s:property>
<%--单引号里面是字符串
双引号里面是表达式
输出字符串 'OGNL表达式'的长度 7
--%>
<s:property value="'OGNL表达式'.length()"></s:property>
3. OGNL的功能
- 访问对象方法
- 比如输出字符串长度,字符串.length()
- 访问静态属性
- 访问静态方法
<%--单引号里面是字符串
双引号里面是表达式
输出字符串 'OGNL表达式'的长度 7
--%>
<s:property value="'OGNL表达式'.length()"></s:property><br>
<%--
访问静态属性(默认情况下,struts2把静态属性的访问权限关闭)
解决办法:
在struts.xml增加常量
修改struts-core.jar的default.properties中的struts.ognl.allowStaticMethodAccess
令其值为true
示例:
输出Integer.MAX_VALUE(整数的最大值,是一个静态属性)
--%>
max value of int:<s:property value="@java.lang.Integer@MAX_VALUE"></s:property><br>
<%--
访问静态方法
示例:
访问Math类的random()获取随机数
--%>
a random number:<s:property value="@java.lang.Math@random()"></s:property><b
struts.xml中添加常量:
<!--配置struts2打开访问静态属性权限-->
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
- 封装List数据
<%--
封装List
--%>
<s:radio list="{'男','女'}" name="gender1" label="性别"></s:radio><br>
- 封装Map
<%--
封装Map
--%>
<s:radio list="#{'男':'male','女':'female'}" name="gender2" label="性别"></s:radio><br>
最后
以上就是复杂小馒头为你收集整理的struts_OGNL1. OGNL简介2. OGNL简单使用3. OGNL的功能的全部内容,希望文章能够帮你解决struts_OGNL1. OGNL简介2. OGNL简单使用3. OGNL的功能所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复