s:if test 中的indexOf问题

经常在黑云中出没 2010-02-22 03:55:01
<s:if test="dtjg.indexOf(#tmvstatic.index+1)!=-1">
我这句话不起作用,不知道s:if test中有没有indexOf的?
...全文
654 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
战死沙场 2011-02-10
强,楼上说的这方法行。
<s:set name="aa" value="#tmvstatic.index+1"/>
<s:if test="dtjg.indexOf((#aa).toString())!=-1"> checked="checked" </s:if>
这样就行了
回复
<s:set name="aa" value="#tmvstatic.index+1"/>
<s:if test="dtjg.indexOf((#aa).toString())!=-1"> checked="checked" </s:if>
这样就行了
回复
<s:set name="aa" value="#tmvstatic.index+1"/>
<s:if test="dtjg.indexOf((#aa).toString())!=-1"> checked="checked"</s:if>
回复
UPS_space 2010-02-22
<s:if test="dtjg.indexOf(#tmvstatic.index+1)!=-1"> 这句话里面的#tmvstatic.index取到的值是迭代的当前序号,估计楼主应该是想要取迭代出来的值,所以把这里面的内容换为值就可以了,这个值一定要是字符型的,可以参照下面的办法:
<s:iterator value="{{'rr','dd'},{'gg','aa'}}" status="sta">
<s:if test="'wweerr'.indexOf([0].top[0])!= -1">
test
</s:if>
</s:iterator>
输出结果为:test
解释一下:[0].top代表当前迭代的对象,上例中当前迭代的对象是数组,所以用[0].top[0]取第一个元素。
你可以用[0].top.XX取你迭代的对象的属性。
回复
redlotus_lyn 2010-02-22

<s:if test="%{dtjg.indexOf(#tmvstatic.count)!=-1}">
回复
redlotus_lyn 2010-02-22
<s:if test="%{dtjg.indexOf(#tmvstatic.index+1)!=-1}">
回复
teemai 2010-02-22
test 当中应该不可以用这些,类似的el表达式中也不能有函数操作吧
回复
UPS_space 2010-02-22
楼主的indexOf中怎么会用数字呢?
这个方法是查找字符串中含有某字符的位置。
下面代码可以正常显示'test content':
<s:if test="'wer'.indexOf('r')!= -1">test content</s:if>
回复
YOYOOOP 2010-02-22
如果tmvstatic是你所说的那样,就不需要前面的'#'
回复
回3楼,dtjg是Action里传值传过来的,
#tmvstatic.index+1是<s:iterator value="tmcf" id="tmv" status="tmvstatic">迭代出来的
不用indexOf,是没有问题的,我现在就是想要实现indexOf这个功能,不知道有没有办法
回复
YOYOOOP 2010-02-22
引用楼主 cclovescw 的回复:
<s:if test="dtjg.indexOf(#tmvstatic.index+1)!=-1">
我这句话不起作用,不知道s:if test中有没有indexOf的?

有没有indexOf这个方法我还真不确定.
但我觉得(#tmvstatic.index+1)应该有问题.
首先:在struts2中调用session/request中的某个变量应该是#session.attr/#request.attr
所以,你这个地方改成#session/#request.tmvstatic.index+1试试
还有一个问题:dtjg你怎么得到。这个地方应该也不对。同上...
回复
1楼是骗人的广告,要遭报应的
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-02-22 03:55
社区公告
暂无公告