struts2和iterator的问题 参考这个。 map 遍历 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 struts2.3帮助文档里说已经将iterator标签中id参数给废弃了,改用var替代,你可以试一试看看! 那数据的时候 可以用el表达式拿啊 ${ tests } 然后var定义 名字 调用单个数据时就用 ${名字.属性了} <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还是没有运行。 改成var 了,还是显示不了内容。详情见4L。 这里<s:property value="#test.paperName"/> 改成<s:property value="paperName"/> 试试 你用<s:debug></s:debug>标查看下stack context中的内容,这放在你迭代语句的下面!看下stack context中request项的值以及stack context中是否有test这项 这是我添加之后的代码(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>这是添加之前显示的页面这是添加之后的页面 参照你的代码,搞了个小程序试了下,你看看!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值(部分) 服务器集群静态文件是怎么同步的 帮忙介绍一个好点的免费空间 设计实现一个能点对点聊天的Java程序,大家给点思路!? aaa 开发一个servlet的数据库连接池问题,请高手指教,参与就有分,正确多给分!!!! 100 分求 J2EE设计开发编程指南 100分求解!JSP用户多导致TomCat瘫痪的问题!万分着急,拜托了! javaBean的socket客户端与C++服务器的通信 真受不了Hibernate 100%给分java.lang.NoClassDefFoundError是个什么错误? 浏览器清空session 关于mybatuis里foreach 迭代map,取key的问题
<li>
<a href="browseTest.action?paperID=<s:property value="#test.paperID"/>" target=_self>
<s:property value="#test.paperName"/>
</a>
</li>
</s:iterator>
改成了这样,有框架显示了。但是里面没有内容。中间的s:property还是没有运行。
改成var 了,还是显示不了内容。详情见4L。
改成<s:property value="paperName"/>
试试
看下stack context中request项的值
以及stack context中是否有test这项
这是我添加之后的代码(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>
这是添加之前显示的页面
这是添加之后的页面
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值(部分)