2012-05-25 59 views
0

我使用struts2的「iterate」標記。我的收藏名稱不斷變化。所以我想用一個表達式來指定值。根據tld表達式不允許在「s:iterate」標籤中使用「value」。參數化struts2 s:迭代標記

有沒有辦法保持值變量,而不是靜態值。

 <s:iterator value="${param.listName}" status="status" > 
    </s:iterator> 

有點像above.I想要使用請求參數中的listName指定集合的​​名稱到迭代標記。

回答

1

你的意思是這樣的:

<s:iterator var="reportHeader" value="%{#session.myList}" status="headerNumber" > 
</s:iterator> 

是的作品就像一個魅力。

更新:

myListsession.myListString其表示鍵。

所以對應的動作碼將

public String execute(){ 
    HttpSession session = ServletActionContext.getRequest().getSession(); 
    session.setAttribute("myList", new ArrayList<String>()); 
    return Action.SUCCESS; 
} 
在我的情況我不能hardocde參數名稱
+0

。就像您聲明的值=「%{#session.myList}」。我不能將它硬編碼爲「myList」變量名稱。即使這個名字將作爲參數傳遞。所以value =「%{#session.VARIABLE}」。所以我應該能夠取決於參數值VARIABLE。 – kunal

+0

@kunal編輯我的帖子 – mprabhat

+0

感謝您的幫助。 – kunal