2016-03-21 45 views
1

我已經在Struts2一直在尋找使用<s:property>如果condtion ...我找到了解決辦法,但ContainsIndexOf並不在我的情況的作品有人可以幫助我在語法....包含或索引在<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> 

這裏DetailsS​​tatus是主列表狀態變量......在這裏我要檢查是否有<s:property>象徵:

+0

錯誤必須在'#DetailsS​​tatus.index ==#DirSTS.index'只需打印出第一個:if',打印Dir的值並打印indexOf結果 –

+0

@AndreaLigios怪異Dir正在打印DetailsList的迭代器(父)值是ArrayList ,而不是打印DirList :(因爲值本身錯了它的失敗... –

+0

請編輯您的問題添加外部迭代器和Java源與他們的獲得者,謝謝 –

回答

3

第一件事情就是你的語法缺失)右括號。其次要確保你有在列表正確的價值觀其中有:標誌(您已經評論說,它有錯誤的價值觀)

這裏是你的代碼

<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