“#”的用法
集合的投影(只输出部分属性)用法 collectionName.{expression}<br>
<s:iterator value="#request.personList.{name}">
<s:property>
</s:iterator>
----------------------------------------------
用法2集合的过滤
"?#" 过滤所有符合条件的集合
"^#" 过滤第一个符合条件都元素
"$#" 过滤最后一个符合条件的元素
<s:iterator value="#request.personList.{?#this.age>25}" var="perspon">
<s:property value="name">
<s:property value="age">
</s:iterator>
personList里边放了许多个person
用var关键字 在循环的时候把每一个Person对象放到map栈,this代表每一个person
所以用#this ,而?表示选择
---------------------------------------------
<s:iterator value="#request.personList.{?#this.age>25}.{name}" var="perspon">
<s:property/>
</s:iterator>
"%"符号的用法
在标签的属性值被理解为字符串类型的时候,告诉执行环境
用法1.
%{}里的是ognl表达式
<s:textfield name="xxx" id="xxx" value="%{#request.username}"/>
备注:因给value引号里边的值 含有井号,解析不出来, 所以用%{} 括起来,告诉编译器,
{}里边内容的是ognl表达式。
用法2.
将{}中的内容 加上'',解析成一个字符串
<s:textfield name="xxx" id="xxx" value="%{'#request.username'}"/>
------------------------------------------------------------------------------------------------------------
“$”符号的用法
在Struts2配置文件中,使用ognl表达式
-------------------------------------------
OgnlAction中,把"msgxxx_request"这个值放到request作用域里边。
ServletActionContext.getRequest().setAttribute("msgxxx","msgxxx_request");
下边是struts_ognl.xml文件
<package name="ognl" namespace="/ognl" extends="struts-default">
<action name="ognlAction_*" class="cn.itcast.j_ognl.OgnlAction"
method="{1}">
<result name="success">/ognl/ognl.jsp?msg=${#request.msgxxx}</result>
</action>
</package>
-----------------------------------
当跳转到ognl.jsp的时候,要想要获取 "msgxxx_request"这个值,可以通过request得到,
对应的键是"msgxxx"。<s:property value=”#request.msgxxx”>
------------------------------------
我也可以通过msg得到这个值
<result name="success">/ognl/ognl.jsp?msg=${#request.msgxxx}</result>
在配置文件中,先从request作用域中得到这个值,然后在使用msg作为参数名,使用参数传递这个值。可以看出 参数和参数值是放到parameters里边了
就可以这样得到值 <s:property value=”#parameters.msg”>
这个用法,可以解决重定向的问题,这个重定向到一个Action中,request作用域失效,可以在struts.xml文件中再传递一次request.
分享到:
相关推荐
ognl表达式 ognl表达式 ognl表达式 ognl表达式
本案例提供ognl使用详解,测试通过,只需解压放入自己WEB项目中,执行struts_ognl包内java文件即可(未提供jia包,若需要可以联系...用法:OGNL是通常要结合Struts 2的标志一起使用。主要是#、%和$这三个符号的使用;
struts2 中 OGNL表达式的使用struts2 中 OGNL表达式的使用
ognl表达式在struts中的用法解析
ognl表达式的用法,叫你熟练掌握ognl 表达式
JS:ognl表达式 JS:ognl表达式 JS:ognl表达式
Struts2的标签库及OGNL表达式语言
NULL 博文链接:https://huguifuture.iteye.com/blog/761843
struts2中ognl表达式的用法,详细介绍了ognl表达式与struts2基本标签的结合。
在web开发技术中最常用到的OGNL表达式,对于ognl有点模糊的朋友,试试看思路必定会很清晰,用起来顺手。
ognl表达式的详细教学描述,介绍如何使用ognl表达式和ognl的运行原理
struts2标签和OGNL表达式struts2标签和OGNL表达式
关于OGNL表达式的使用的整理以及提供的文档说明,ps:文档说明是英文的,可能需要翻译
NULL 博文链接:https://chaoyi.iteye.com/blog/2158731
struts2-OGNL表达式测试代码
NULL 博文链接:https://z-one.iteye.com/blog/1584602
struts2 OGNL,struts2 表达式语言,Struts2 中OGNL表达式的用法,Struts2 #,表达式语言的好处,Struts2 $,struts2 井号,星号,百分号
`Strtus2 OGNL表达式的结合
访问上下文中的对象需要使用#符号标注命名空间,如#application、#session 另外OGNL会设定一个根对象(root对象),在Struts2中根对象是ValueStack。 如果访问根对象中的对象的属性,则可以省略#命名空间。