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