Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在struts2中将include标记参数作为迭代器标记的值包括在内_Struts2 - Fatal编程技术网

如何在struts2中将include标记参数作为迭代器标记的值包括在内

如何在struts2中将include标记参数作为迭代器标记的值包括在内,struts2,Struts2,我有一个jsp*to_include.jsp*,我想使用传递字符串参数的标记将其包含在另一个jsp*中。以下是包含jsp的代码: <div> <s:include value="to_include.jsp"> <s:param name="list">list_of_objects</s:param> </s:include> </div> 列出\u对象的\u 该列表参数是在包含的js

我有一个jsp*to_include.jsp*,我想使用传递字符串参数的标记将其包含在另一个jsp*中。以下是包含jsp的代码:

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

列出\u对象的\u
该列表参数是在包含的jsp中迭代的数组对象的名称。我可以使用以下方法轻松访问include jsp中的列表名:

<%= request.getParameter("list") %>

但是在属性值中,不能像刚才显示的那样在标记中包含表达式。我的问题是,如何访问迭代器标记内的list参数

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

...

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

如果您希望由请求参数确定正在迭代的列表,那么为什么不在操作中而不是在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;
    }

}
公共类ListAction{
私人名单;
私有ListService ListService;
公共字符串execute(){
返回“成功”;
}
public void setListName(字符串listName){
list=listService.getList(listName);
}
公共无效setListService(ListService ListService){
this.listService=listService;
}
公共列表getList(){
退货清单;
}
}

但我将使用在几个jsp中包含.jsp。他们中的一些人不止一次地用不同的行动来称呼它。我需要在每个标记中设置list参数。基本上,我的问题是如何访问struts2标记中的请求参数。@DanielCalderon有什么区别?参数只是HTTP参数,而不是对象。如果您想传递一个列表,请将其保存在值堆栈中。我理解,并且对象的列表在值堆栈中。如果我输入列表的确切名称,我可以在包含的jsp中访问它。问题是访问包含的jsp中的参数列表中指定的名称。