如何在struts2中包含一个include标记参数作为迭代器标记的值

时间:2012-07-06 20:32:12

标签: struts2

我有一个jsp * to_include.jsp *,我希望在另一个中使用< s:include>标记传递字符串参数。这是包含jsp的代码:

<div>
    <s:include value="to_include.jsp">
        <s:param name="list">list_of_objects</s:param>
    </s:include>
</div>

list param是在包含的jsp中迭代的数组对象的名称。我可以使用:

轻松访问include jsp中的列表名称
<%= request.getParameter("list") %>

但是在&lt; s:iterator&gt;属性 value 你不能在像刚才显示的标签里面包含表达式。我的问题是,如何访问迭代器标记内的 list 参数?

<s:iterator value="?">
    ...
</s:iterator>

2 个答案:

答案 0 :(得分:1)

相反,使用s:set标记获取一个action属性,并将其设置为值堆栈上的值,然后包含的页面可以访问该值。

答案 1 :(得分:0)

如果您想要的是让迭代的列表由请求参数确定,那么为什么不在操作中而不是jsp中进行选择?

例如:

public class ListAction {

    private List<?> list;
    private ListService listService;

    public String execute() {
        return "success";
    }

    public void setListName(String listName) {
        list = listService.getList(listName);
    }

    public void setListService(ListService listService) {
        this.listService = listService;
    }

    public List<?> getList() {
        return list;
    }

}