hashtable 与<logic:iterate>的小问题
是这样的我建了一个GoodsBean类,
package datasource;public class GoodsBean {
private String id=null;
private String name=null;
private String price=null;
public void setId(String id)
{
this.id=id;
}
public void setName(String name)
{
this.name=name;
}
public void setPrice(String price)
{
this.price=price;
}
public String getId()
{
return this.id;
}
public String getName()
{
return this.name;
}
public String getPrice()
{
return this.price;
}
}
在网页中把这个类的实例装入Hashtable中,
在用<logic:iterate>判断所它显示出来
网页如下
<%@ page language="java" pageEncoding="gbk"%>
<%@ page import="java.util.Hashtable"%>
<%@ page import="datasource.GoodsBean"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base /> <title>showdata.jsp</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--></head><body>
<%
Hashtable h1 = new Hashtable();
GoodsBean gb1 = new GoodsBean();
GoodsBean gb2 = new GoodsBean();
gb1.setId("1");
gb1.setName("长虹");
gb1.setPrice("69000");
h1.put(gb1.getId(), gb1);
gb2.setId("2");
gb2.setName("海信");
gb2.setPrice("7000");
h1.put(gb2.getId(), gb2);
session.setAttribute("goods1", h1);
%>
<logic:iterate id="element" indexId="ind" name="goods1">
<bean:write name="ind" />.<bean:write name="element" property="key" />
<br>
<logic:iterate id="elementValue" name="element" property="value" length="5" offset="0">
<bean:write name="elementValue" />
<br>
</logic:iterate>
</logic:iterate>
</body>
</html:html>可连接网页时就出错,
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Cannot create iterator for this collection
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.showdata_jsp._jspService(org.apache.jsp.showdata_jsp:226)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.jsp.JspException: Cannot create iterator for this collection
org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:265)
org.apache.jsp.showdata_jsp._jspService(org.apache.jsp.showdata_jsp:166)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.5.9
我试了一下如果把hashtable不存goodsBean 而放数组就好用,例如
Hashtable h = new Hashtable();
String aaa[] = { "aaa1", "aaa2" };
String bbb[] = { "bbb1", "bbb2" };
h.put("a", aaa);
h.put("b", bbb);
session.setAttribute("goods", h);
就能正常显示不知为什么,请大家帮帮忙.当然用其它方法能让它显示出来,
我就想知道用struts 的标签能否实现
是这样的我建了一个GoodsBean类,
package datasource;public class GoodsBean {
private String id=null;
private String name=null;
private String price=null;
public void setId(String id)
{
this.id=id;
}
public void setName(String name)
{
this.name=name;
}
public void setPrice(String price)
{
this.price=price;
}
public String getId()
{
return this.id;
}
public String getName()
{
return this.name;
}
public String getPrice()
{
return this.price;
}
}
在网页中把这个类的实例装入Hashtable中,
在用<logic:iterate>判断所它显示出来
网页如下
<%@ page language="java" pageEncoding="gbk"%>
<%@ page import="java.util.Hashtable"%>
<%@ page import="datasource.GoodsBean"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base /> <title>showdata.jsp</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--></head><body>
<%
Hashtable h1 = new Hashtable();
GoodsBean gb1 = new GoodsBean();
GoodsBean gb2 = new GoodsBean();
gb1.setId("1");
gb1.setName("长虹");
gb1.setPrice("69000");
h1.put(gb1.getId(), gb1);
gb2.setId("2");
gb2.setName("海信");
gb2.setPrice("7000");
h1.put(gb2.getId(), gb2);
session.setAttribute("goods1", h1);
%>
<logic:iterate id="element" indexId="ind" name="goods1">
<bean:write name="ind" />.<bean:write name="element" property="key" />
<br>
<logic:iterate id="elementValue" name="element" property="value" length="5" offset="0">
<bean:write name="elementValue" />
<br>
</logic:iterate>
</logic:iterate>
</body>
</html:html>可连接网页时就出错,
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Cannot create iterator for this collection
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:848)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:781)
org.apache.jsp.showdata_jsp._jspService(org.apache.jsp.showdata_jsp:226)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause javax.servlet.jsp.JspException: Cannot create iterator for this collection
org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:265)
org.apache.jsp.showdata_jsp._jspService(org.apache.jsp.showdata_jsp:166)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.
--------------------------------------------------------------------------------Apache Tomcat/5.5.9
我试了一下如果把hashtable不存goodsBean 而放数组就好用,例如
Hashtable h = new Hashtable();
String aaa[] = { "aaa1", "aaa2" };
String bbb[] = { "bbb1", "bbb2" };
h.put("a", aaa);
h.put("b", bbb);
session.setAttribute("goods", h);
就能正常显示不知为什么,请大家帮帮忙.当然用其它方法能让它显示出来,
我就想知道用struts 的标签能否实现
解决方案 »
- 关于省市区三级联动取值问题
- 类型装换
- jsp socket 问题
- 求助,判断数据导入完成……
- MyEclipse 中 java项目 输入中文保存不了
- 这是鸟人最近用servlet写的购物车的例子,还不够完整希望高手给于指点(一)
- 急急急!!! 如果在Hibernate中实现将list中的值分别存入DTO中。
- 求jspsmartupload的下载地址?(我这里不能上国外)
- jsp中一些特殊字符怎么处理?比如说单引号和换行符等等。
- 用过jsp的朋友,请你们指教指教小弟。100分,对好的建议还可以加分
- 请问大家:如何用程序更新jar 文件里的内容
- oracle9的jdbc驱动能正常连接oracle7么
数组中的字符串String实现了此方法
GoodsBean gb1 = new GoodsBean();
GoodsBean gb2 = new GoodsBean();
gb1.setId("1");
gb1.setName("长虹");
gb1.setPrice("69000");
h1.put(gb1.getId(), gb1);
gb2.setId("2");
gb2.setName("海信");
gb2.setPrice("7000");
h1.put(gb2.getId(), gb2);俺还真没这么用过!不知道这样的好处是什么?
在struts-config.xml里加入
<message-resources parameter="ApplicationResources"/>
就可以了