struts_OGNL

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>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值