2016-03-21 3 views
1

Я искал для использования <s:property> в struts2 если Condtion ... и я нашел решение, но Contains или IndexOf не работает в моем случае кто-то может помочь мне по синтаксису ....Содержит или указатель в <s:property> тег Struts2?

<s:iterator value="DirList" status="DirSTS" var="Dir"> 
    <s:if test="#DetailsStatus.index==#DirSTS.index"> 
     <s:if test="%{#Dir.indexOf(':'}!= -1"> 
      <a href='<s:property/>'><small>Click Here </small></a> 
     </s:if>      
    </s:if> 
</s:iterator> 

Здесь DetailsStatus является главным переменным состоянием в списке ... здесь я хочу, чтобы проверить, если <s:property> имеет : символ

+0

Ошибка должна быть в '# DetailStatus.index == # DirSTS.index' Просто напечатайте что-то в и из первого' s: if', напечатайте значение 'Dir' и напечатайте результат' indexOf' –

+0

@AndreaLigios weird Dir - это значение параметра DescriptionStatusList итератора (родительского), которое имеет значение ArrayList вместо печати DirList :(Поскольку само значение ошибочно, его ошибка ... –

+0

Измените свой вопрос, добавив внешний итератор и источники java с их getters, спасибо –

ответ

3

Первое, что ваш синтаксис отсутствует) закрывающая скобка. Во-вторых убедитесь, что у вас есть правильные значения в списке, которые имеют: Symbol (Вы уже отмечали, что имеют неправильные значения)

здесь код

<s:iterator value="DirList" status="DirSTS" var="Dir"> 
<s:if test="#DetailsStatus.index==#DirSTS.index"> 
    <s:if test="%{#Dir.indexOf(':'}!= -1"> 
     <a href='<s:property/>'><small>Click Here </small></a> 
    </s:if>      
</s:if> 

изменить код нравится это ....

<s:iterator value="DirList" status="DirSTS" var="Dir"> 
<s:if test="#DetailsStatus.index==#DirSTS.index"> 
    <s:if test="#Dir.indexOf(':')!= -1"> 
     <a href='<s:property/>'><small>Click Here </small></a> 
    </s:if>      
</s:if> 

+0

. ..nice catch: D –

+1

@AndreaLigios узнал от вас, ребята, только :) :) CATCH BUGS – goodyzain