2007-10-26
在纯struts下使用ECSide的一点疑惑
关键字: ECSide知道ECSide有段时间了,但一直都没尝试使用。最近在尝试使用,但发现一个很不解的疑问。在用ECSide进行翻页,排序等操作试,action会被多次执行。action里调用DAO从取LIST的方法也被执行。这样每操作一次(翻页,或排序等),action就被执行一次,List也被从新取了一次,导致响应很慢。
JSP里的代码
xml 代码
- <link rel="stylesheet" type="text/css" href="<%=webapp%>/ecside/css/ecside_style.css" />
- <script type="text/javascript" src="<%=webapp%>/ecside/js/prototype_mini.js" ></script>
- <script type="text/javascript" src="<%=webapp%>/ecside/js/ecside_msg_utf8_cn.js"></script>
- <script type="text/javascript" src="<%=webapp%>/ecside/js/ecside.js" ></script>
- </head>
- <body>
- <ec:table items="users" var="user" retrieveRowsCallback="process"
- sortable="true" action="${pageContext.request.contextPath}/ShowUserList.do"
- rowsDisplayed="5" title="任务信息" width="80%" pageSizeList="2,5,10,50">
- <ec:row>
- <ec:column width="20" property="_0" title="序号" value="${GLOBALROWCOUNT}"/>
- <ec:column width="150" property="userid" title="用户ID" />
- <ec:column width="150" property="realname" title="用户姓名"/>
- <ec:column width="150" property="dwid" title="单位ID"/>
- </ec:row>
- </ec:table>
(我试着将ec:table 里的action属性设为显示该列表的JSP页面“userlist.jsp”,这样的话第一次打开页面是正常的,一但对列表经行任何错作,翻页,排序等,列表就变空了,右下脚纪录信息栏显示无任何纪录)
action里的主要代码
java 代码
- public ActionForward ShowUserkList(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response) {
- List userlist = new UserDAO().findAllUser();
- request.setAttribute("users", userlist);
- return mapping.findForward("success");
- }
不知道大家出现这种问题没?如何解决的????
评论
flysky9820000
2008-03-20
keanfly说的问题也是数据库分页时使用的,ecside2.0rc1这个版本支持预查询功能;也就是说数据库里本来只查询当前显示的页面(如当前显示第2页就只查第2页的内容),但在ecside里是把前后2页也查出来的(如查第2页时就会把第1和第3页也查出来)。doPreload=“false”的意思就是关闭这个预查询功能,action="${pageContext.request.contextPath}/ShowUserList.do"这样写还是会进入action的。fina的博客里有这个版本的文档,可以看看就知道了。
flysky9820000
2008-03-20
呵呵,海盗兄,你把action="${pageContext.request.contextPath}/ShowUserList.do"这句改成
action=""
你在struts里是一次查出所有记录的,这样改后ecside就知道自己从缓存读数据了;
你上面的情况是用于数据库物理分页时使用的;
action=""
你在struts里是一次查出所有记录的,这样改后ecside就知道自己从缓存读数据了;
你上面的情况是用于数据库物理分页时使用的;
keanfly
2008-03-06
Attribute doPreload invalid for tag table according to TLD
我用doPreload为何出现上面这种错误呢?
在<ec:table>中使用doPreload="false"
我用doPreload为何出现上面这种错误呢?
在<ec:table>中使用doPreload="false"
JaNer
2007-10-31
我也遇到这问题了,doPreload=“false”确实没起到作用!不知如何解决啊?
王牌海盗
2007-10-26
郁闷啊。我把doPreload=“false”关了怎么还是不行啊
lijun96
2007-10-26
感谢楼主,我也遇到这样的问题,把预读关了就好了。我们项目里现在在大量使用ecside,不知道在websphere上会不会有什么问题?
王牌海盗
2007-10-26
把doPreload=“false”?
中午回去试一试。
中午回去试一试。
lxxing
2007-10-26
将预读功能关闭就不会了
王牌海盗
2007-10-26
忘了说了,使用的是ecside_2.0_RC1这个版本。
发表评论
- 浏览: 17778 次
- 性别:

- 来自: 库尔勒

- 详细资料
搜索本博客
我的相册
map-java
共 5 张
共 5 张
最新评论
-
有多少人看了《奋斗》?
那为什么陆涛不喜欢米莱?
-- by qingzi2534 -
有多少人看了《奋斗》?
米莱就是男人心中的女神:D
-- by shuishou -
有多少人看了《奋斗》?
吃饭的时候消遣看
-- by ladofwind -
有多少人看了《奋斗》?
奋斗真的是奋斗么? 有空建议看:恰同学少年
-- by ag_sherry -
有多少人看了《奋斗》?
片子里的女孩我最喜欢的是米莱。
-- by cwx714






评论排行榜