Action类
package com.ssh.action;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;
import org.springframework.context.annotation.Scope;
import com.ssh.model.Option;
import com.ssh.service.VoteService;
/**
 * 投票模块的公用ACTION
 * @author Administrator
 *
 */
@Scope("prototype")
@Namespace("/")
@Action(value="Opt",results={@Result(name="success",type="redirect",location="/jsp/Jfreechart/main.jsp"),@Result(name="error" ,location="/err.jsp")})
public class VoteAction extends BaseAction {
private static final long serialVersionUID = 1L;
@Resource
private VoteService voteService;
private List<Option> list;

public String execute(){
try {
list=voteService.showAllOption();
if(list!=null){
return  SUCCESS;
}
else {
return ERROR;
}
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
} public void setServletRequest(HttpServletRequest arg0) { } public void setServletResponse(HttpServletResponse arg0) { } public List<Option> getList() {
return list;
} public void setList(List<Option> list) {
this.list = list;
}
}
                       JSP页面
假如我要遍历list集合中的值,我这样写:
<s:iterator var="list" id="ls">
<s:property value="#ls.id">
<s:property value="#ls.option_name">
......
</s:iterator>
   可页面上什么都没(S标签已经导入了),不知问题出在什么地方,Action类中list我确定有值。  请大神指点下,3Qiterator

解决方案 »

  1.   

    <s:iterator var="list" id="item">
    <s:property value="#item.id">
    </s:iterator>
    试试
      

  2.   

    struts 标签   要作用域吧?
      

  3.   

    先在页面上打印下list看看是否前台已经得到,然后再调下s标签。
    我记得取的时候是可以指定作用域的,是否放置的作用域不一致<s:iterator var="list" id="item">
      

  4.   

    -------------
    这肯定不行把,你写的和我一样,只是id的别名不一样,不可能出来的.  id的名字是可以随意取的
      

  5.   

    <s:iterator value="list" var="item">
    <s:property value="#item.id">
    </s:iterator>
     写错了 
      

  6.   

    <s:iterator value="list">
    <s:property value="id">
    </s:iterator>这样写也可以 struts标签 循环的集合放在value 里 果断求分 会一个不容易
      

  7.   

    已经解决了,我在JSP页面打印list集合没反应,我猜可能是没从后台传过来.  我看了下我的配置:
    @Action(value="Opt",results={@Result(name="success",type="redirect",location="/jsp/Jfreechart/main.jsp"),@Result(name="error" ,location="/err.jsp")})我的type用了redirect,这样是传不过去值的。  
      

  8.   

    你确定var 也能打出来? 
      

  9.   

    var 那是肯定不行,不可能用<s:iterator value="所需的集合" var="...">来取值的,就算取别名,肯定是value="所需集合"  id="别名"