1、 在国际化资源文件中,引用OGNL表达式,例如国际化资源文件中的代码:reg.agerange=国际化资源信息:年龄必须在$min同$max之间。 在Struts 2框架的配置文件中引用OGNL表达式,例如:1. 2. fieldname=intb3. field-validatortype=int4. parammin105. max100BAction-test校验:数字必须为$min为$max之间!/message7. /field-validator8. /field9. 下面通过代码对OGNL有更深的了解:action类OgnlAction.java:1. packagecom.tj
2、cyjd.test.action;3. importjava.util.Date;4. importjava.util.LinkedList;5. importjava.util.List;7. importjavax.servlet.http.HttpServletRequest;9. importorg.apache.struts2.ServletActionContext;10. importorg.apache.struts2.convention.annotation.Action;11. importorg.apache.struts2.convention.annotation.
3、Namespace;12. importorg.apache.struts2.convention.annotation.ParentPackage;13. importorg.apache.struts2.convention.annotation.Result;14. importorg.apache.struts2.convention.annotation.Results;15. importorg.springframework.stereotype.Controller;16. 17. importcom.opensymphony.xwork2.ActionContext;18.
4、importcom.opensymphony.xwork2.ActionSupport;19. 20. Controller21. Namespace(/test22. ParentPackage(struts-default23. Results(Result(name=successlocation/other_test/showognl.jsp),24. fail/bbs/admin_login.jsp25. input)26. publicclassOgnlActionextendsActionSupport27. privatestaticfinallongserialVersion
5、UID-1494290883433357310L;28. Listpersons;29. 30. Action(ognlTest31. publicStringognlTest()throwsException32. /获得ActionContext实例,以便访问ServletAPI33. ActionContextctxActionContext.getContext();34. 存入application35. ctx.getApplication().put(application信息);36. 保存session37. ctx.getSession().put(seesion信息38.
6、 保存request信息39. HttpServletRequestrequestServletActionContext.getRequest();40. request.setAttribute(request信息41. 为persons赋值42. personsnewLinkedList();43. Personperson1Person();44. person1.setName(pla145. person1.setAge(26);46. person1.setBirthday(newDate();47. persons.add(person1);48. 49. person250.
7、 person2.setName(pla251. person2.setAge(36);52. person2.setBirthday(new53. persons.add(person2);54. 55. person356. person3.setName(pla357. person3.setAge(16);58. person3.setBirthday(new59. persons.add(person3);60. 61. returnSUCCESS;62. 63. 64. 65. getPersons()66. 67. 68. 69. voidsetPersons(List3. ta
8、glibprefix=suri=/struts-tags4. !DOCTYPEhtmlPUBLIC-/W3C/DTDXHTML1.0Transitional/ENhttp:/www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd6. xmlns=/www.w3.org/1999/xhtml8. 9. 10. titleStruts2OGNL演示11. 12. 13. 14. 15. h3访问OGNL上下文和Action上下文17. 18. -使用OGNL访问属性值-20. pparameters:propertyvalue=#parameters.ms
9、g/p21. 22. request.msg:#request.msg23. session.msg:#session.msg26. application.msg:#application.msgattr.msg:#attr.msghr用于过滤和投影(projecting)集合年龄大于20-判断年龄-iteratorpersons.?20liname-年龄:age/li/s:iterator/ul姓名为pla1的年龄:.age0构造Map%符号的用法不使用:url使用:%#foobar%72. reqscope73. request.getSession().setAttribute(ses
10、ssession74. request.getSession().getServletContext().setAttribute(app75. aplication76. 77. 1.通过ognl表达式获取属性范围中的值78. br79. #request.req80. br81. #session.sess82. 83. #application.app84. 85. hr86. 87. 2.通过90. #listvar=o91. -$o-92. 93. 94. 95. 96. 97. 98. 3.通过ognl表达式创建Map99. 100. map101. 12345102. #map1
11、03. $o.key-$o.value104. #o.key-#o.value105. keyvalue106. 107. 108. 109. 110. 4.通过ognl表达式进行逻辑判断111. 112. iftest=aainaaabbb113. aa在集合中;114. if115. else116. 不在117. 118. 119. #request.reqnot120. 不集合list中;121. 122. 123. 124. 125. 126. 127. 128. 5.通过ognl表达式的投影功能进行数据筛选129. 130. list11,2,3,4,5131. #list1.?#this2132. #list.?2:在list1集合迭代的时候,从中筛选出当前迭代对象2的集合进行显示133. 134. 135. 136. 137. 6.通过ognl表达式访问某个类的静态方法和值138. 139. java.lang.Mathfloor(32.56)140. 141. com.rao.struts2.action.OGNL1Actionaa142. 143. 144. 145. 7.ognl表达式迭代标签详细146. 147. list2148. bbccddeeffgghhiijj149. tableborder=1150. tr151. td索引/td
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1