JSP页面代码<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="iterrater.test.jsp.*"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>iterrater标签测试页</title>
</head>
<%
List list = (List)request.getAttribute("list");
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
UserPojo name = (UserPojo) iterator.next();
System.out.println(name);
}
 %>  
  <body>
  <table border="1">
    <s:iterator value="list" id="id">
<tr><td><s:property value="name"/></td>
    <td><s:property value="age"/></td>
    </tr> </s:iterator>
</table>  </body>
</html>USERPOJOpackage iterrater.test.jsp;public class UserPojo {
String name;
int age;

public UserPojo(String name,int age){
super();
this.name=name;
this.age = age;
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} @Override
public String toString() {

return this.name+" & "+this.age+"\\n";
}


}
为何后台有输出,页面不显示。这STRUTS2的标签。。太郁闷了。

解决方案 »

  1.   

    list 为什么要这样传呢? action中forward 到页面在用<s:iterator value="list">
     【既然都取出来了,就可以在页面直接获得!】
      

  2.   

    <s:iterator value="list" id="id" >
        <tr><td><s:property value="#id.name"/></td>
        <td><s:property value="#id.age"/></td>
        </tr>    </s:iterator>
      

  3.   

    <%
        List list = (List)request.getAttribute("list");
        for (Iterator iterator = list.iterator(); iterator.hasNext();) {
                UserPojo name = (UserPojo) iterator.next();
                . . . . 
                System.out.println(name);
            }
     %>  
    <body>
      <table border="1">
         <tr><td><%=name!=null?name:"&nbsp;"%></td></tr>
          . . . . 
    </table>
      </body>
      

  4.   

    2楼的方法我试过了 无用,网上有的使用方法我都试过了都不可行。
    现在的问题是 确定在页面可以拿到list,但是却没办法用iterator标签来输出。 什么直接输出啊,2楼的方法啊,还有那种#{} 这个方法啊都试过了,无用有没有其他地方出错的可能? 我觉得问题可能不是在代码上,而是在环境或者其他地方。
      

  5.   

    如果我是那个struts2这样写我也不给你显示。而且我还会告诉你“no list property in your Action”
      

  6.   

    iterater标签中只有3个参数可以用 value,id,status,id用过了,没用,status用过了,没用。而且不用request传值,直接在action里面只是变量页试过了也无用。求5楼正解
      

  7.   

    5楼是这个意思吧。ACTION:
    package iterrater.test.jsp;import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class ShowAction extends ActionSupport{

    List list = new ArrayList();


    @Override
    public String execute() throws Exception {
    UserPojo up1 = new UserPojo("a",1);
    UserPojo up2 = new UserPojo("a",2);
    UserPojo up3 = new UserPojo("a",3);
    UserPojo up4 = new UserPojo("a",4);
    UserPojo up5 = new UserPojo("a",5);
    UserPojo up6 = new UserPojo("a",6);


    list.add(up1);
    list.add(up2);
    list.add(up3);
    list.add(up4);
    list.add(up5);
    list.add(up6);

    return SUCCESS;
    }

    }
    页面<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ page import="iterrater.test.jsp.*"%>
    <%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        
        <title>iterrater标签测试页</title>
    </head>  <body>
      <table border="1">
        <s:iterator value="list" id="id">
    <tr><td><s:property value="#id.name"/></td>
        <td><s:property value="#id.age"/></td>
        </tr>
        </s:iterator>
    </table>  </body>
    </html>但是还是不显示啊
      

  8.   

    <s:iterator value="list" id="id">  你那个list在action中没值,肯定不会显示啊 
      

  9.   

    你这样写 如果还是那个struts2我还是不给你显示,而且还会告诉你 no getter and setter of list property
      

  10.   

    ljy正解啊,话说你是在考验我的。那个 读错误信息的能力么? 结分