博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2---->OGNL
阅读量:6169 次
发布时间:2019-06-21

本文共 2041 字,大约阅读时间需要 6 分钟。

OGNL (object graph navigation language)

1、想初始化domain model,可以自己new,也可以传值。如果不传值的话,则Struts不会自动初始化domain model

2、传值的时候必须要定义空的构造方法。否则Struts2不知道调用哪个构造函数。

如果你定义了如下的构造方法

public User(int age) {		super();		this.age = age;	}

则不会自动产生无参的构造函数了,即使请求中user.age=8,但Struts2不知道调用什么构造方法。ValueStack中user也是null,

<s:property value="user.age"/> 也取不到

3、访问静态属性和方法

  • 访问静态方法:
  • Struts.xml必须配置 <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>

    四、例子

    <%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%><%@ taglib uri="/struts-tags" prefix="s" %>
    OGNL表达式语言学习 
        
    1. 访问值栈中的action的普通属性: username =
    2.   
    3. 访问值栈中对象的普通属性(get set方法):
      |
            |
      | wrong: <%--
      --%>
    4.   
    5. 访问值栈中对象的普通属性(get set方法):
    6.   
    7. 访问值栈中对象的普通方法:
    8.   
    9. 访问值栈中对象的普通方法:
    10.   
    11. 访问值栈中action的普通方法:
    12.   

        
    13. 访问静态方法:
    14.   
    15. 访问静态属性:
    16.   
    17. 访问Math类的静态方法:
    18.   

        
    19. 访问普通类的构造方法:
    20.   

        
    21. 访问List:
    22.   
    23. 访问List中某个元素:
    24.   
    25. 访问List中元素某个属性的集合:
    26.   
    27. 访问List中元素某个属性的集合中的特定值:
      |
    28.   
    29. 访问Set:
    30.   
    31. 访问Set中某个元素:
    32.   
    33. 访问Map:
    34.   
    35. 访问Map中某个元素:
      |
      |
    36.   
    37. 访问Map中所有的key:
    38.   
    39. 访问Map中所有的value:
    40.   
    41. 访问容器的大小:
      |
    42.   

        
    43. 投影(过滤):
    44.   
    45. 投影:
    46.   
    47. 投影:
    48.   
    49. 投影:
    50.   

        
    51. []:
    52.    
      

    结果如下:

    1. 访问值栈中的action的普通属性: username = u
    2. 访问值栈中对象的普通属性(get set方法): | | | wrong:
    3. 访问值栈中对象的普通属性(get set方法): wsz
    4. 访问值栈中对象的普通方法:1
    5. 访问值栈中对象的普通方法:miaomiao
    6. 访问值栈中action的普通方法:hello

    7. 访问静态方法:
    8. 访问静态属性:
    9. 访问Math类的静态方法:3

    10. 访问普通类的构造方法:

    11. 访问List:[]
    12. 访问List中某个元素:
    13. 访问List中元素某个属性的集合:[]
    14. 访问List中元素某个属性的集合中的特定值: |
    15. 访问Set:[dog: dog3, dog: dog1, dog: dog2]
    16. 访问Set中某个元素:
    17. 访问Map:{dog102=dog: dog102, dog101=dog: dog101, dog100=dog: dog100}
    18. 访问Map中某个元素:dog: dog101 | dog: dog101 | dog: dog101
    19. 访问Map中所有的key:[dog102, dog101, dog100]
    20. 访问Map中所有的value:[dog: dog102, dog: dog101, dog: dog100]
    21. 访问容器的大小:3 | 0

    22. 投影(过滤):
    23. 投影:[]
    24. 投影:[]
    25. 投影:false

    26. []:u

     

    转载地址:http://oojba.baihongyu.com/

    你可能感兴趣的文章
    springcloud--Feign(WebService客户端)
    查看>>
    网络攻击
    查看>>
    sorting, two pointers(cf div.3 1113)
    查看>>
    Scala并发编程【消息机制】
    查看>>
    win10下安装Oracle 11g 32位客户端遇到INS-13001环境不满足最低要求
    查看>>
    AngularJS-01.AngularJS,Module,Controller,scope
    查看>>
    【MySQL 安装过程1】顺利安装MySQL完整过程
    查看>>
    Inno Setup入门(二十)——Inno Setup类参考(6)
    查看>>
    图片自适应
    查看>>
    amd cmd
    查看>>
    Linux下的uml画图工具
    查看>>
    xml返回数组数据
    查看>>
    约瑟夫问题总结
    查看>>
    spring mybatis 批量插入返回主键
    查看>>
    指针函数小用
    查看>>
    开源力量公开课第二十三期-从SVN到Git,次时代代码管理
    查看>>
    输入挂
    查看>>
    升级迁移前,存储过程统计各个用户下表的数据量,和迁移后的比对
    查看>>
    sql注入分类
    查看>>
    初识CSS选择器版本4
    查看>>