当前位置: 代码迷 >> J2EE >> 为啥<s:iterator />迭代无法显示值
  详细解决方案

为啥<s:iterator />迭代无法显示值

热度:670   发布时间:2016-04-21 22:00:19.0
为什么<s:iterator />迭代无法显示值
                    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我确定有值。  请大神指点下,3Q
iterator

------解决方案--------------------
<s:iterator var="list" id="item">
<s:property value="#item.id">
</s:iterator>
试试
------解决方案--------------------
struts 标签   要作用域吧?
------解决方案--------------------
先在页面上打印下list看看是否前台已经得到,然后再调下s标签。
我记得取的时候是可以指定作用域的,是否放置的作用域不一致<s:iterator var="list" id="item">
------解决方案--------------------
先用EL表达式取下值吧
------解决方案--------------------
<s:iterator value="list" var="item">
<s:property value="#item.id">
</s:iterator>
 写错了 
------解决方案--------------------
<s:iterator value="list">
<s:property value="id">
</s:iterator>

这样写也可以 struts标签 循环的集合放在value 里 果断求分 会一个不容易
  相关解决方案