解决方案 »

  1.   

    struts2.3帮助文档里说已经将iterator标签中id参数给废弃了,改用var替代,你可以试一试看看!
      

  2.   

    那数据的时候 可以用el表达式拿啊  ${   tests  }  然后var定义 名字  调用单个数据时就用 ${名字.属性了}
      

  3.   

    <s:iterator value="request" var="test">
    <li>
    <a href="browseTest.action?paperID=<s:property value="#test.paperID"/>" target=_self>
    <s:property value="#test.paperName"/>
    </a>
    </li>
    </s:iterator>
    改成了这样,有框架显示了。但是里面没有内容。中间的s:property还是没有运行。
      

  4.   


    改成var 了,还是显示不了内容。详情见4L。
      

  5.   

    这里<s:property value="#test.paperName"/> 
    改成<s:property value="paperName"/> 
    试试
      

  6.   

    你用<s:debug></s:debug>标查看下stack context中的内容,这放在你迭代语句的下面!
    看下stack context中request项的值
    以及stack context中是否有test这项
      

  7.   


    这是我添加之后的代码(123,只是用作测试。)
    <s:iterator value="request" var="test">
    <li>
    <a href="browseTest.action?paperID=<s:property value="#test.paperID"/>" target=_self>
    <s:property value="#test.paperName"/>
    <s:property value="paperName"/><br>
    <s:property value="123"/>
    <s:debug><s:property value="request"/></s:debug>
    <s:debug><s:property value="test"/></s:debug>
    </a>
    </li>
    </s:iterator>
    这是添加之前显示的页面
    这是添加之后的页面
      

  8.   

    参照你的代码,搞了个小程序试了下,你看看!
    1、TestsAction内容如下
    package com.gxy.struts.action;
    import com.gxy.struts.model.Test;
    import java.util.ArrayList;
    import java.util.Map;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionSupport;public class TestsAction
    {
    public String execute()
    {
    ArrayList<Test> tests=new ArrayList<Test>();
    tests.add(new Test(1,"t1"));
    tests.add(new Test(2,"t2"));
    Map request=(Map)ActionContext.getContext().get("request");
    request.put("tests", tests);
    return "success";
    }
    }
    2.Test实体类
    package com.gxy.struts.model;
    public class Test
    {
    private int paperId;
    private String paperName;
    public Test(int paperId,String paperName)
    {
    this.paperId=paperId;
    this.paperName=paperName;
    }
    public int getPaperId()
    {
    return paperId;
    }
    public void setPaperId(int paperId)
    {
    this.paperId = paperId;
    }
    public String getPaperName()
    {
    return paperName;
    }
    public void setPaperName(String paperName)
    {
    this.paperName = paperName;
    }

    public String toString()
    {
    return "paperId:"+paperId+"paperName"+paperName;
    }
    }
    3、struts.xml文件配置
    <package name="test" extends="struts-default" namespace="/">
    <action name="tests" class="com.gxy.struts.action.TestsAction">
    <result>/test.jsp</result>
    </action>
    </package>
    4、test.jsp内容如下:
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>test.jsp</title>
      </head>
      <body>
        <s:iterator value="#request.tests" var="gg">
         paperId:<s:property value="#gg.paperId"/><br/>
         paperName:<s:property value="#gg.paperName"/><br/>
        </s:iterator>
        <s:debug></s:debug>
      </body>
    </html>
    5、访问url及结果
    http://localhost:端口/项目名/tests.action6、stack context中request值(部分)