区别:%{} 、 ${} 、 #
来源:互联网 发布:图像增强算法的研究 编辑:程序博客网 时间:2024/04/28 11:40
struts2中-------%{ } 、 %{#}、 #
# 通常强调从上下文取
例如:
#request.name等价于request.getAttribute("name")
#session.name等价于session.getAttribute("name")-----------------------------------------------------------------------------------------------------------
%{ } 强调的是从你设定的root点取
Struts 2中值栈被视为根对象
%{ }用于计算表达式如%{10+20}结果将输出30 , %{"a"+"b"}结果将输出"ab"-----------------------------------------------------------------------------------------------------------
%{#}仍然用于计算表达式,只不过操作元可以是变量
<s:setname="age" value="%{25}"/> ,则%{#age}将输出25,也可以省略"#",写为%{age}
若将age加10,可这么写: %{#age+10},将输出35,不能省略"#"。也就说变量用于计算时不能省略"#"
ognl中的#、%和$
#相当于ActionContext. getContext()
#session.msg表达式相当于ActionContext.getContext().getSession(). getAttribute(”msg”)
#用于过滤集合、投影集合
persons.{?#this.age>20}
投影:stus.{username}就表示将suts中所有的username属性取出组成一个新的列表
用来构造Map
#{’foo1′:’bar1′,’foo2′:’bar2′}。--------------------------------------------------------------------------------------------------------
计算?
%符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值
---------------------------------------------------------------------------------------------------------
引用?
$引用国际化OGNL表达式,例如引用min、max;
$在Struts2框架的配置文件中引用OGNL表达式;注:ognl英文全称:Object-Graph Navigation Language,中文为“对象图导航语言”
个人点评:
“#”这个符号像中文“井”,上下左右都有空间,开的口卡在中间,所以说它代表“上下(左右)文”还挺形象的,那么代表“上下文”有啥意义呢?这个符号的产生是为了解决什么问题呢?答案是:调用上下文的变量;
想创造一个调用上下文变量的东西,那东西至少能在上下文间来去自如的驰骋吧,“#”光看面相就是可以的;
“%”这个符号就是中文的百分号,java中的取余符号,它们有一个共同点:代表一种运算;所以%{...}代表{}里东西的一种运算;
“$”的本质也是运算,这俩有啥区别呢?但“$”是一种美元符号,代表的是更为国际化的运算;打个比方:若%代表的是咱国内约定俗成的加法运算,那么$代表的是国际上统一规定的加法运算;
这个纯属为了好记忆瞎写着玩的,不必当真... ....
- 区别
- 区别...
- 区别
- 区别
- 区别
- 区别
- 区别
- 区别
- 区别
- 区别
- ./ ../ /区别
- 区别:%{} 、 ${} 、 #
- $()、$(())、${}、(())区别
- 区别
- 区别区别更健康
- &&与&区别
- ${....}和区别
- ...与[]区别
- ansj 分词系统的词性说明
- java代码获取jvm和heap的内存参数
- iOS-UIWebview相关
- iOS开源项目、三方插件等收集
- Hamming Distance
- 区别:%{} 、 ${} 、 #
- Java实现的单链表
- Android开发过程中so调用出现的常见问题分析
- javascript中的操作符详解1
- web前端开发基础-技术方案&常见问题
- 锁优化
- Swift与Js通过WebView交互
- “sqlExeption:数据库连接已关闭”问题
- ANDROID项目中嵌入高德地图(一)配置环境+显示地图