首页 新闻 会员 周边 捐助

常见的首页静态新闻列表是如何生成的?

0
悬赏园豆:50 [已关闭问题]

      请教个问题,比如当我在后台生成五条新闻的静态HTML文件后,在前台的静态首页HTML页面中通过何种方式将五个链接与生成的五个HTML文件关联链接起来呢?

      生成单个的静态页面不是难点,难的是将各个产生的静态页面关联和链接起来。我想请教一下这个问题应该如何做,请大致介绍一下思路吗?
 
      谢谢!!!
ゞ雲裳彩絮乄的主页 ゞ雲裳彩絮乄 | 初学一级 | 园豆:150
提问于:2010-03-29 12:19
< >
分享
其他回答(4)
0

静态页中不是可以设置文本或者图片链接的么,

闲云_wu | 园豆:205 (菜鸟二级) | 2010-03-29 12:32
0

html文件不就是字符串吗?  字符串拼接?

如果想进行一定的分割,那就加入<p> 或者 <div>

Dozer | 园豆:30 (初学一级) | 2010-03-29 12:38
0

在后台拼字符串,动态的生成JS的脚本。

刘恩富 | 园豆:210 (菜鸟二级) | 2010-03-29 13:39
0

方法:把首页的静态页面也重新生成一个,让它指向你生成的新闻静态页访问地址。

其实你缺少的是一个整体的设计。你设计当初应该说要考虑好他们之间的关系。

我现在可以提供2种方法:

1.根据动态页访问地址和参数来命名静态页(也就是建立动态地址与静态地址的转换公式)

如:/user/userDetail.aspx?id=6这样的地址我转换后变成 /user/userDetail_id6.html

新闻/newsDetail.aspx?id=17&page=2转换成/newsDetail_id17_page2.html;

这样的话关系就确定了。当然这只是一种规则方式。

那么我们怎么让它对应起来呢?

好的,我们来看看:既然规则是我们定的,我们就可以写一个通用的公式来转换它,可以用正则表达式或专门的一个转换函数,当然正则是比较方便的。

这个方案的好处是,我只需要想好我的转换规则,我写代码的时候可以不考虑静态化的问题,我只需要写成动态的地址就可以,等编写代码完成了,一切收工正常后,我们再通过某种方式按我们想好的规则来转换成静态地址就可以了。

那通过什么方式来转换地址呢?

好的,再来看:我们以.net为例,如果我们想全站静态或部分静态,怎么让它自动批量做呢?

asp.net里面提供了我们切入点,我们定义自己的httphandler,让它来接管http的所有请求,这样我们可以大作文章了,我们可以把response在输出前全部替换掉,用什么方法?刚才上面提到过了,用正则表达式就可以办到。(这个地方要了解编写自己的httphandler怎么样去操作,很简单,你一搜一大堆)。到这一步我们可能做好地址的转换了,那静态页面从哪来呀?按规则生成呗。

那么生成静态页面可以怎么操作呢?

兄弟你可能会说:“噢!这个简单,我会的。”行,那最好,但是我这里还是给你推荐一种方式。就是接管400错误页,让它跳转到自己专门用来处理400错误的页面上来,那这个页面做什么呢?其实也简单,我们400的错误地址我们知道,会通过我们的接管地址通过url传递自动传递过来,我们最下来把地址判断下是不是aspx的动态页,是动态页接下来的事情就好玩了。“是什么?”,是什么还用说吗?为它生成一个静态页呗,“好的!这个我会,我来干”,”那行交给你了“,你有了这个页面的动态访问地址,静态页生成好了,行,下一步做的事情是什么,302跳转,让用户去看我刚生成的静态页面。好的,这个过程结束了,那我们回头来看下这个访问的对应过程是什么样的?第一步:用户从首页进来后我通过规则把内容上的aspx页全部接管后换成html的地址。第二步:用户点了我们生成的html地址,但第一次的时候这个页面还不存在,怎么办?还能怎么办?提示400错误呗,400错误那接着呢?第三步:被我们自定义的400错误页接管了,哈哈,还是逃不出我的手掌心呀,接着根据规则来生成我们想要的html页面,并把用户转到这个静态页,冰果!(下一次再有用户访问就不用急了,应该已经生成过了。哈哈)

好的,第一种方案就在这了,不过它带来什么问题呢?追踪更新不方便,当然你可以维护一组页面的标签,通过标签来控制相应的页面删除,让下一个用户访问的时候再生成一个不就更新了嘛,呵呵,具体的实现自己想,不难。

第二种方案:

“什么?”“要设置什么规则?”“不明白”,那好方法有两种,一种再把上面一种方案看十几遍,看懂为止,要么就看下面的介绍。

不用规则用什么,用数据库或其它持久化数据对应下总可以了吧,哈哈,那来吧。

数据库很简单,二个主要的字段 activePageUrl,staticPageUrl

很明确吧,就是一一对应起来存起来,每次我不用规则去找了,我去数据库里面去找,不管你静态页面叫什么名字,我都把你对应起来,当然这个的缺点是显而易见的,数据量会一天一天一天再一天的变大,而且它不智能,我把地址上的参数换下位置它就不认识了,哎太不灵活了。那其它的事情和第一种方案大同小异,自己去想吧。没事了,晚安!错了,是下午安,思床心切,不好意思,只能帮到这些,不管是不是你想要的,我半个小时没了,看在可怜的份上,给点吧!

 

chen eric | 园豆:4 (初学一级) | 2010-03-29 15:04
0

方法

1.重写生成一遍首页的静态文件,可以在添加新的文章自动生成一遍

2.使用ajax技术,ajax加载那些新闻

3.拼接js,填充那小部分

4.如果只是一个小部分,可以用ifream

LittlePeng | 园豆:3445 (老鸟四级) | 2010-03-29 17:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册