struts2迭代时,为什么迭代出来的值什么也没有迭代出来呢?

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix = "s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">




myJsp

[color=red]






/s:iterator[/color]


public class QuerySubscriber {

private IAisBusBIZ aisBusBIZ;

public IAisBusBIZ getAisBusBIZ() {
    return aisBusBIZ;
}

public void setAisBusBIZ(IAisBusBIZ aisBusBIZ) {
    this.aisBusBIZ = aisBusBIZ;
}

public void querySubscriber(){
    List<Subscriber> list = aisBusBIZ.querySubscriber();
    ServletActionContext.getRequest().setAttribute("subList", list);
}

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

}

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">



/index.jsp



[b]问题补充:[/b]
struts2我采用了spring进行代理,如果我设置一个list属性,那么我需要在spring初始时给属性赋值的啊.

subList放入值栈:
[code="java"]
public class QuerySubscriber {

private List<Subscriber> subList = new ArrayList<Subscriber>();

public List<Subscriber> getSubList() {
    return subList;
}

public void setSubList(List<Subscriber> subList) {
    this.subList = subList;
} 
......

}
[/code]

subList放入值栈:
[code="java"]
public class QuerySubscriber {

List<Subscriber> subList = new ArrayList<Subscriber>();

......

}
[/code]

页面使用JSTL
[code="java"]


${index.index}
${index.sbuscriberkey}
${index.applytime}
${index.expiretime}

/s:iterator
[/code]

楼主看样子是从struts1过来的吧,你在后台是把数据放到request中了,可页面你是在struts2的值栈中取的,虽然值栈也是在request中,但你后台没把值放入值栈,页面自然取不到了。
解决方法楼上的兄台说的已很清楚了,有两个解决办法:
1,采用正统的方法,用值栈,他说的是正确的,在java中定义个List,再给它set,get方法。这样就可以在页面中取到值了,建议楼主用查看下值栈中的内容,这样就一目了然了。
2,采用传统的jstl表达式,楼上 cwx714兄台说的好像有点不太对,[code="jsp"]



${index.index}

${index.sbuscriberkey}

${index.applytime}

${index.expiretime}


/c:forEach
[/code]

个人觉得,用spring代理,list也不用在spring中注入啊,不是所有的属性都要由spring管理的