日期:2014-05-20  浏览次数:20591 次

struts 问题
最经开始在学习struts方面的知识,想自己动手做一个论坛,但是一开始就遇到一个问题如下,希望高手为我支支招:
 通常论坛首页是论坛所有版块的列表,我现在通过一个Action的execute方法来取得一个List包含所有的Topic类,现在问题是,如何在页面上取得这个List。
 我看过一个源码,他是将这个List放在一个session中,然后在这个页面上获取该session,然后再通过<Logic:iterator>标签,取出每一个topic,但是我担心这种做法会不会造成服务器资源消耗过多?希望高手想想有没其他方法。
 还有就是在execute方法中,如何取得一个类赋给Form类时,是不是可以在页面中直接使用<bean:write>标签进行读取啊?
 希望高手们多多支招,谢谢!!!

------解决方案--------------------
List放到request里,jsp上通过<Logic:iterator> 标签显示
------解决方案--------------------
假如是首页的一些 经常使用的地方,比如新用户列表什么的。要么写个定时器 生成html。要么用缓存,每次取缓存里面取。


假如你的值的确存入PersonForm中的username里面,那么页面可以<bean:write name="PersonForm" property="username"/>出来


------解决方案--------------------
在Form里定义一个List,
页面上直接取如:
<logic:iterate name="form" property="listname" id="id">
<bean:write name="id" property="title"/></td>//假如你topic里有一个title的属性
</logic:iterate>

------解决方案--------------------
将List类存放在request中会不会对服务器资源造成影响啊? 

不会,我一般都是这么做,要么用缓存。
------解决方案--------------------
对立,最好少用session,这样搞不好就容易造成资源浪费
------解决方案--------------------
缓存是稍微麻烦点的技术,比如首页上的一些列表,使用频率很高,那么就先找出来 保存在缓存中。
有页面访问用到了 就去缓存读出来,避免反复的查询数据库。

具体我用的技术是MemCached,有兴趣可以自己去看看
------解决方案--------------------
不建议放到缓存中
放到request里就可以
request不是持久性的
用一次就没了,而虽然显示在页面,但是实际上request已经不存在,刷新下页面就会知道
------解决方案--------------------
参考参考:
声明一个vector的对象vec,把从数据库或者别的数据内容循环存放在vec里,把vec放在session里,在页面里用<logic:iterate>或者<c:foreach>循环读出来!~

------解决方案--------------------
你加了分也可以结
分既然加进去了
就说明你有那么多分
就是你的120已经在这帖子里了
不是去拿你现在身上的分