=======================================================================
存储数据集的list: public ActionForward getAllSideTypeAction(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
AlbumModel albummodel =new AlbumModel();
AlbumDAO albumdao=new AlbumDAO();
java.util.ArrayList list=new java.util.ArrayList();
list=albumdao.getAllalbum1(albummodel);
request.setAttribute("list", list);
if(list==null)
System.out.println(list.size());
request.setAttribute("list", list);
return mapping.findForward("addtype"); //对应到下面的jsp页面上了。
}
========================================================================
下面是图片循环成四行四列的代码:
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="photo_small">
<logic:iterate name="list" id="a" indexId="i" offset="1">
<bean:define id="temp" value="${(i-1)%4}"></bean:define>
<bean:define id="temp1" value="${i%4}"></bean:define>
<logic:equal name="temp" value="0">
<tr>
</logic:equal>
<td width="25%"><a href="showTypePhoto.do?ialbumId=<bean:write name="a" property="palbum_id"/>">
<!-- 如果没有相片就显示一张默认的图片-->
<logic:empty name="a" property="cname">
<img src="images/photo01.gif" alt="photos" border="0" />
</logic:empty>
<!--显示此分类最新上传的相片-->
<logic:notEmpty name="a" property="cname"><img src="<bean:write name="a" property="cname"/>"alt="photos" border="0" />
</logic:notEmpty>
</a>
<div><strong>
<bean:write name="a" property="cname" />
<!-- 显示相册名字-->
</strong> <br>
<a href="#"> <logic:equal name="a" property="cname"value="2">
保密
</logic:equal>
</a>
<a href="editPhoto.do?palbum_id=<bean:write name="a" property="palbum_id"/>">
修改
</a>
<html:link page="/deleteHouseAlbum.do" paramId="palbum_id" paramName="a" paramProperty="palbum_id"
onclick="return confirm(' 您确定删除整个像册吗?\n注意:此操作将导致像册下所有相片全部删除!');">
删除
</html:link>
</div>
</td>
<logic:notEqual name="i" value="0">
<logic:equal name="temp1" value="0">
</tr>
</logic:equal>
</logic:notEqual>
</logic:iterate>
<logic:notEqual name="temp1" value="0">
</tr>
</logic:notEqual>
<tr>
<td colspan="4">
<div><logic:notEmpty name="list" scope="request"><logic:iterate name="list" id="a" scope="request" length="1"><logic:notEqual name="a" value="1">
<logic:equal name="curPage" value="1">首页 上一页 <html:link page="/showAllPhotoside.do?curPage=${curPage+1}">下一页</html:link>
<html:link page="/showAllPhotoside.do?curPage=${a}">末页</html:link> 共 <bean:write name="a" /> 页/第 <bean:write name="curPage" /> 页
</logic:equal><logic:equal name="curPage" value="${a}">
<html:link page="/showAllPhotoside.do">首页</html:link>
<html:link page="/showAllPhotoside.do?curPage=${curPage-1}">上一页</html:link>
下一页 末页 共 <bean:write name="a" /> 页/第 <bean:write name="curPage" /> 页
</logic:equal><logic:notEqual name="curPage" value="1">
<logic:notEqual name="curPage" value="${a}">
<html:link page="/showAllPhotoside.do">首页</html:link>
<html:link
page="/showAllPhotoside.do?curPage=${curPage-1}">上一页</html:link>
<html:link
page="/showAllPhotoside.do?curPage=${curPage+1}">下一页</html:link>
<html:link page="/showAllPhotoside.do?curPage=${a}">末页</html:link>
共 <bean:write name="a" /> 页/第 <bean:write
name="curPage" /> 页
</logic:notEqual>
</logic:notEqual></logic:notEqual>
<logic:equal name="a" value="1">
首页 上一页 下一页 末页 共 <bean:write name="a" /> 页/第 <bean:write
name="curPage" /> 页
</logic:equal>
</logic:iterate></logic:notEmpty></div>
</td>
</tr>
</table></td>
</tr>
</table>
===========================================================
error:(184125 ms) [http-8080-Processor23] ERROR: org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/photo].[jsp]#invoke : Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: Cannot find bean list in any scope
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:992)
at org.apache.struts.taglib.logic.IterateTag.doStartTag(IterateTag.java:234)
at org.apache.jsp.pt_005fclass_jsp._jspService(org.apache.jsp.pt_005fclass_jsp:237)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)提示找不到list,郁闷死了,求牛人帮忙看一下。大家有没有这种类似的代码,贴上来看看啊。
解决方案 »
- Struts出错
- 关于对数据排名问题!
- 关于iReport/JasperReport分组统计的问题
- 取当前系统时间的方法
- ???关于两层循环,对列进行合计的问题
- 关于框架的问题
- 请问关于替换语句的问题!(在线等!!!)
- 简单问题:怎样用javabean连接数据库?
- 谁帮我看看这段JSP程序和BEAN错在哪里?
- 我的web中用到一个EShop.jspt和一个ShoppingServlet,在这个servlet(ShoppingServlet)中有几句老是出错,我找了一个星期都没找到原因,请高手指教!!!
- Hibernate更新出错org.hibernate.TransientObjectException:
- Mysql + jsp 中文乱码问题
1、在Action中,对数据进行二次封装,将每条记录都以一个键值对的形式放入一个大Map对象中(map.put("1-1",(Ojbect)list.get(i);...map.put("1-4",(Object)list.get(i));...map.put("2-1",(Ojbect)list.get(i);...),再将Map对象存入request中。注意之所以这样,是在页面取值时,要在每个特定的位置如(td或div)中取值(Object)map.get("1-1")等,这样你可以决定每个图片的位置。
2、使用jsp脚本,因为struts标签只能取出记录,但不利于排版和美工设计。
<%
int length = 16; // 4*4 四行四列
int pt = 0;
for(int i = 0; i< length; i++){
%>
<tr>
<%
for(int p = 0; p < 4; p++){
pt = 4*i + p;
if(pt < length){
Object obj = (Object)list.get(pt);
%>
<td>...</td>
<td>...</td>
...
<%
}
}
%>
</tr>
<%
}
%>
3、是利用<logic:iterate>标签的属性indexId进行判断,他是每条记录的序号,细节不说了。
offset="0">
<bean:define id="temp" value="${i%5}">
</bean:define>
<logic:equal name="temp" value="0">
<tr>
</logic:equal>