struts2_ognl表达式符号的使用方法
2017-07-08 16:53
453 查看
1. #的使用
<1>代表ActionContext.getContext()上下文
<2>不写# 默认在 值栈中root中进行查找
<3>进行投影映射(结合复杂对象遍历)
<4>使用#构建map集合
2. %的使用
%作用:就是用于设定当前是否要解析其为 ognl表达式。所有表达式如果想要让其是ognl:%{表达式}
%{表达式} 当前表达式会被做为ognl解析.
%{‘表达式’} 当前表达式不会被做为ognl解析。
<s:property value=”表达式”> 对于s:property标签,它的value属性会被默认做为ognl
3. $的使用
$作用:就是在配置文件中使用ognl表达式来获取valueStack中数据.
总结:#就是用于获取数据 %就是用于设置是否是ognl表达式 $就是在配置文件中使用ognl。
<1>代表ActionContext.getContext()上下文
<s:property value="#request.name" /> ------------> ActionContext().getContext().getRequest().get("name"); //获取各个域 #request #session #application #attr #parameters
<2>不写# 默认在 值栈中root中进行查找
<s:property value="name" /> 在root中查找name属性 * 查询元素时,从root的栈顶元素 开始查找, 如果访问指定栈中元素 <s:property value="[1].name" /> 访问栈中第二个元素name属性 * 访问第二个元素对象 <s:property value="[1].top" />
<3>进行投影映射(结合复杂对象遍历)
1)集合的投影(只输出部分属性 <h1>遍历集合只要name属性</h1> <s:iterator value="products.{name}" var="pname"> <s:property value="#pname"/> </s:iterator> 2)遍历时,对数据设置条件 <h1>遍历集合只要price大于1500商品</h1> <s:iterator value="products.{?#this.price>1500}" var="product"> <s:property value="#product.name"/> --- <s:property value="#product.price"/> </s:iterator> 3)综合 <h1>只显示价格大于1500 商品名称</h1> <s:iterator value="products.{?#this.price>1500}.{name}" var="pname"> <s:property value="#pname"/> </s:iterator>
<4>使用#构建map集合
经常结合 struts2 标签用来生成 select、checkbox、radio <h1>使用#构造map集合 遍历</h1> <s:iterator value="#{'name':'aaa','age':'20', 'hobby':'sport' }" var="entry"> key : <s:property value="#entry.key"/> , value: <s:property value="#entry.value"/> <br/> </s:iterator>
2. %的使用
%作用:就是用于设定当前是否要解析其为 ognl表达式。所有表达式如果想要让其是ognl:%{表达式}
%{表达式} 当前表达式会被做为ognl解析.
%{‘表达式’} 当前表达式不会被做为ognl解析。
<s:property value=”表达式”> 对于s:property标签,它的value属性会被默认做为ognl
3. $的使用
$作用:就是在配置文件中使用ognl表达式来获取valueStack中数据.
1.struts.xml <result type="stream"> <param name="contentType">${contentType}</param> </result> 2.在校验文件中使用 ${min} ${max} ${minLength} ${maxLength} 3.在国际化文件中使用 在properties文件中 username=${#request.username} 在jsp页面 <s:text name="username">
总结:#就是用于获取数据 %就是用于设置是否是ognl表达式 $就是在配置文件中使用ognl。
相关文章推荐
- struts2中使用ognl表达式时各种符号的使用规则$,#,%
- 关于struts2中使用OGNL表达式取值,取不到值的原因及解决方法
- struts2使用OGNL表达式访问方法与属性
- Struts2中使用OGNL表达式语言访问静态方法和静态属性以及我遇到的问题和解决方法
- S7.2_Struts2_OGNL OGNL表达式的投影和选择技术范例,OGNL表达式#和$符号的使用范例,以及值栈
- 使用struts2中的ognl表达式调用类方法
- OGNL表达式的使用方法
- OGNL表达式中的@..@..使用方法注意
- struts2系列十之4中获取使用request,session,application的方法和页面显示的三种方法【后期ognl算第四种】
- Struts2使用OGNL表达式封装输入数据(直接封装Map类型)
- 举例说明在android中使用正则表达式去掉字符串中标点符号及其他一些特殊符号的方法
- Ognl方法使用(利用表达式语言获取数据)
- struts2 中 OGNL表达式的使用
- struts2对ognl表达式的使用(配图解加讲解)
- Struts2 OGNL表达式的使用
- Struts2的OGNL表达式的使用
- Struts2的OGNL表达式中三个符号的用法
- Struts2 使用OGNL表达式访问ENUM对象
- OGNL表达式的使用方法 .
- OGNL表达式和struts2中的使用