我創建一個菜單,併爲每個菜單組件,我有一個特定ID:Struts2的:更改開始迭代器值
<li id="ll1"><a href="javascript:{}" id="al1">Component</a></li>
從DB檢索的部件,我使用的迭代器標籤來動態顯示它們:
<s:iterator value="#session.loggedinUser.compNames" status="statusObject" var="parent">
<s:if test="#session.loggedinUser.compAccess[#statusObject.index] == 0">
<li id="ll<s:property value="#statusObject.index"/>">
<a href="javascript:{}" id="al<s:property value="#statusObject.index"/>" onclick="menuBar('none')">
<s:property value="#parent"/>
</a>
</li>
</s:if>
迭代器按我希望的方式工作,菜單列表完全生成。但是,它開始於列表ID = 0,因爲這樣的:
<li id="ll0"><a href="javascript:{}" id="al0" onclick="menuBar('Component')">Component</a>
有什麼辦法從1開始列表ID分配,同時保持我的迭代器列表的初始讀數指數在0? (我不想失去我的列表中的第一個值!)
如果我搞糊塗你在任何地方,請要求澄清。
謝謝!
謝謝,它的工作完美!我不知道你可以簡單地添加+1。我雖然這樣做會拋棄整個事情。我希望我有更多的選票給你,因爲你讓我擺脫了嘗試後端迂迴的解決方案。再次感謝! – user1073616 2012-04-03 20:05:32
需要注意的一些事項:像在java中一樣使用對象方法,甚至可以直接訪問靜態成員(需要進行struts2配置更改)。創建一個新對象,然後用它做點什麼,還有很多好東西。你不能做什麼,據我所知是遍歷一個POJO的屬性(嗯,你可以的,如果它提供了你所期望提供迭代...的接口之一)。所以今天的主題是創建一個標籤,它將創建一個這樣的屬性的字符串列表,這樣你就可以在視圖中的迭代器中使用該列表。 – Quaternion 2012-04-03 21:36:02