1.#符号的用途一般有三种。1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀。实际上,#相当于ActionContext. getContext();#session.msg表达式相当于ActionContext.getContext().getSession(). getAttribute(”msg”) 。2)用于过滤和投影(projecting)集合,如示例中的persons.{?#this.age>20}。3)用来构造Map,例如示例中的#{’foo1′:’bar1′, ’foo2′:’bar2′}。 (2)%符号
%符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。

<s:set name=”foobar” value=”#{’foo1′:’bar1′, ‘foo2′:’bar2′}” />

.${}是EL语言的 %{}这样的形式是ognl表达式语言的,在struts2的标签内部,使用%{}这样的形式,在标签外部可以使用${}EL语言的方式。如果在struts2的标签内部使用${}这样的方式,会出现以下的错误提示:
According to TLD or attribute directive in tag file, attribute value does not accept any expressions

最新文章

  1. Model &amp; ModelMap &amp; ModelAndView 比较ModelFactory简介
  2. CA签发工具
  3. codecademy-command line-inputoutput
  4. 12.C#yield return和yield break及实际应用小例(六章6.2-6.4)
  5. 简单工厂模式的C++实现
  6. 前端--关于javascript对象
  7. slime+sbcl for common lisp
  8. input type=button设置高度不管用
  9. 改变Emacs下的注释代码方式以支持当前行(未选中情况下)的注释/反注释
  10. hdu1561(树形dp)
  11. Git--Submodule使用
  12. javascript中的异步 macrotask 和 microtask 简介
  13. Java学习笔记15(面向对象八:匿名对象、内部类)
  14. 《java入门第一季》之面向对象(形式参数和返回值问题的深入研究3)
  15. kubernetes 开发 code-generator
  16. Golang的Json encode/decode以及[]byte和string的转换
  17. SQL记录-小表join大表查询例子
  18. python f-string
  19. android主流开源库
  20. STL容器(C11)--unordered_set用法

热门文章

  1. [BZOJ4779] [Usaco2017 Open]Bovine Genomics(hash + 二分)
  2. 【BZOJ3224】普通平衡树(splay)
  3. 建筑抢修 BZOJ 1029
  4. mongodb的入门学习
  5. linux的crontab定时任务命令
  6. asp.net开发的调试方法集合
  7. 【微信小程序】开发实战 之 「配置项」与「逻辑层」
  8. Oracle释放高水位线
  9. 2017年记录CS+CV
  10. Mecanim动画编辑器 - 加入动画层实现并行动作