我使用 struts2 "s:iterate" 标签。我的收藏名称不断变化。所以我想使用一个表达式来指定值。“s:iterate”标签中的“value”不允许根据 tld 表达式。
有没有办法保持值变量,而不是静态值。
<s:iterator value="${param.listName}" status="status" >
</s:iterator>
类似于上面的东西。我想使用请求参数中的 listName 将集合的名称指定给迭代标记。
我使用 struts2 "s:iterate" 标签。我的收藏名称不断变化。所以我想使用一个表达式来指定值。“s:iterate”标签中的“value”不允许根据 tld 表达式。
有没有办法保持值变量,而不是静态值。
<s:iterator value="${param.listName}" status="status" >
</s:iterator>
类似于上面的东西。我想使用请求参数中的 listName 将集合的名称指定给迭代标记。
你的意思是这样的:
<s:iterator var="reportHeader" value="%{#session.myList}" status="headerNumber" >
</s:iterator>
是的,就像一个魅力。
更新:
myList
insession.myList
是String
代表键的a。
所以相应的动作代码将是
public String execute(){
HttpSession session = ServletActionContext.getRequest().getSession();
session.setAttribute("myList", new ArrayList<String>());
return Action.SUCCESS;
}