1, 使用java提供的方法,在jsp或者servlet中都可以
清除缓冲
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>
2, 使用HTML标记,如下面:
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
你第一个问题好象是缓冲的问题
清除缓冲
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
%>
2, 使用HTML标记,如下面:
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
你第一个问题好象是缓冲的问题
2。别人都说用<logic:iterate offset="起始位置" length="长度">来做分页
2.分页比较麻烦,要自己写bean来完成了
我在actionform中定义了一个方法,用于清除数据值。然后在action中调用,就可解决问题。
我的scope是request的。也不是清除缓存的问题。我都试过了。
第二个问题还请大侠们帮助给个提示,谢谢
String offset =((Page)session.getAttribute("page")).getOffset();
String length =((Page)session.getAttribute("page")).getLength();
%>
<logic:iterate id="item" name="dataSet" offset="<%=offset %>" length="<%=length %>" > </logic:iterate>
也就是可以用一个对象来存储页面的信息,如第几页,共几页,每页显示几条记录等等,然后存在session中,在我这个例子中,session中的page变量正是一个页面信息对象的引用,可以通过第几页取得该页纪录的起始位置getOffset(); getLength()是每页的记录数。然后你可以用一个表单来进行翻页。
那个名字就是你存储在域里的键值,比如你要显示的form bean 叫"Form1"
scope="session"你在JSP页面里直接可以用session.getAttribute("Form1");来得到那个formbean对象,当然这样破坏了STRUTS的封装,不太好,也可以用bean:write不过不自由至于第一个问题,可以用scope="request"
不过还可以在你处理完操作后用mapping.removeAttribute把这个ACTION对应的那个formbean
清空掉,也可以达到目的,无论你的SCOPE是SESSION还是REQUEST
我明白一些了,先项一会,让也有这两个问题的朋友也来看看:)