我有一个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>
答案 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;
}
}