分析首页的处理方法

 
对于任何一个页面尤其是首页来说可能存在一个以上的模块。
 
例如下图csdn 首页: http://www.csdn.net/
 
 
 
由于太多图中只能显示产品新闻和招牌信息两个模块。
 
以前我习惯将首页做为单独的一个模块,不过这样的结果是action 的代码会相当长,维护起来非常麻烦。而且图中“招聘信息”只是“招聘模块”的一小部分,这样也造成了很多重复的代码。
 
当然我并不知道csdn 的首页是如何实现的,下面我将介绍如何解决这个问题(本人是08 应届毕业生,没有工作经验,如有不妥之处希望赐教)
 
根据以上两点问题。我们希望讲“招聘信息”在“招聘模块”里面去的这样才是合理的。但是,一个首页并不是只有一个模块,那么如何从多个模块取得数据,然后在首页显示就是关键了。下面我们就谈谈如何做。
 
代码我将用struts1.x 编写。
 
首先,为了更好的维护,我们需要为每个出现在首页的小模块(如图中的“招聘信息”)都做一张页面,然后在index.jsp 中在合适的地方包涵此页面:
 
index.jsp 部分代码:
 
  < table >
   
< tr >
      
< td >
         
< jsp:include  page ="join.jsp"   />
      
</ td >
      
< td >
         
< jsp:include  page ="product.jsp"   />
     
</ td >
   
</ tr >
</ table >
 
对于 jsp 标签这里不多解释。
 
然后就是 要包含的页面了,此页面主要是判断 request 中是否有相应的数据,如果有则输出内容
join.jsp的部分代码:

< logic:present  name ="showjoin"  scope ="request" >
   
<! —- 此处为真正要包含的内容及前面提到的小模块(“招聘信息”) -- >
</ logic:present >
 
那么如何取得数据呢?我们知道数据要从 action 中得到,要想通过改写 url 的方式是很困难的,我们可以在 index.jsp 中这样写:
 
index.jsp的部分代码,在保证语法正确的情况下,应该尽可能的写在上面:

< logic:notPresent  name ="showjoin"  scope ="request" >
   
< jsp:forward  page ="join.do"   />
</ logic:notPresent >
 
注意:
*在 joinAction 获取数据成功后应当转到 index.jsp 页面。
整个过程都是用的同一个 request ,所以能正常显示。
获取数据的那段代码(代码如下)一定要放到 index.jsp 中的顶部,否则会影响 性能。
 
< logic:notPresent  name ="showjoin"  scope ="request" >
 
< jsp:forward  page ="join.do"   />
</ logic:notPresent >
 
因为如 request 中部存在 show join 属性,即数据还没有获取,页面就会跳转到 action 中,获取成功后会返回 index.jsp ,这就意味着index.jsp页面将被刷新(重复执行)。所以此代码应 放到 index.jsp 中的顶部。
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值