Struts2_struts标签&OGNL使用

1. iterator标签

相当于jstl中的<c:Each>标签,循环遍历作用

在action中设置一个list集合,并且为其提供get方法,当访问该action时,这个list会自动存在ValueStack中,因为提供了get方法

 

其属性status有一些方法,比如是否为偶数是否为奇数

示例:

效果:

 2. OGNL投影

使用过滤条件投影:

即给集合加一个过滤条件,筛选掉不满足条件的数据

?#过滤所有符合条件的集合
list.{?#this.age>30}
^#过滤第一个符合条件的集合
list.{^#this.age>30}
$#过滤最后一个符合条件的集合
list.{$#this.age>30}

 

 list中数据:

 

使用指定属性投影:

 

3. Struts各种符号的用处

3.1.  #

  1. 取contextMap中key时使用,例如<s:property value="#name" />
  2. OGNL中创建Map对象时使用,例如:<s:radio list="#{'male':'男','female':'女'}" />

3.2.  $

  1. 在JSP中使用EL表达式时使用,例如${name}
  2. 在xml配置文件中,编写OGNL表达式时使用,例如文件下载时,文件名编码。

struts.xml——>${@java.net.URLEncoder.encode(filename)}

3.3.  %

在struts2中,有些标签的value属性取值就是一个OGNL表达式,例如<s:property value="OGNL Expression" />

还有一部分标签,value属性的取值就是普通字 符串,例如<s:textfield value="username"/>,如果想把一个普通的字符串强制看成时OGNL,就需要使用%{}把字符串套起来。

例如<s:textfield value="%{username}"/>。

当然在<s:property value="%{OGNL Expression}" />也可以使用,但不会这么用。

 

4. struts的其他标签:

s:set标签

其各个属性讲解

value存入contextMap中的值,是一个OGNL表达式
var存入contextMap中key
scope存储的范围(session等)

scope不写的话,默认存到contextMap和request中

这里面注意value中默认会当成ognl表达式,所以这里应该加上单引号

s:action

s:if s:elseif s:else

 

s:url    s:a(很少用)

s:url

声明一个url路径,存在contextMap中,注意在这里面传参只能传递一个参数

 

 

s:a

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值