浏览 2194 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-16
以wordpress为例; comment-template.php bookmark-template.php general-template.php ~~~~~~~~ 页面显示的php文件可以调用*.template.php中的方法,来提取数据。 在java中,我们的action方法时把数据生成好,再调用显示的引擎来显示数据。 两者不同就是一个是显示时再调用取数据的方法,一个是先把数据取好。 再进一步,逻辑组件暴漏一组操作不同数据的方法,显示的组件跟据需要取不同的方法得到数据,显示页面。 PHP这样做的好处是巨大并且显然的。理由: 1,在不同的主题下取的数据并不尽相同,php需要什么数据调用什么方法取,而java就没有这样的灵活性数据是先取好的。 比如在wordpress中,有的index首页需要显示分类,有的主题在首页可能要显示最热门的三篇文章(CMS类型的blog),还有音乐类型的Blog,主页显示的数据都不尽相同。 2,数据先取很蹩脚。 在java中,为了在页面显示时,得到所需要的数据,不得不把可能用到的所有的数据都取一次。要不在model不断的put数据,要不就写一个HandlerInterceptorAdapter先把共同的数据都取得。这样多了很多工作。 3,这么做美工设计页面时,更加自由了。 其实java使用jsp也可以按这种方式做到的,freemark估计做不到了。 当然PHP的很多地方也不是完美的,混写的方式,主题的php文件,不只能调用*template.php的方法,还能直接调用任何的其它方法,甚至能入库查询直接取数据,如果想个办法限定权限只能调用*template.php的方法就好了。其它PHP的本身的缺点就不说了。 大家有什么不同的看法。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-09-16
在页面模板里面根据需要进行数据访问和渲染在Java里面自然可以做得到,而且方式可以更加灵活,你可以去钻研一下sitemesh是怎么用的。
其实你说的这种用法,Confluence用sitemesh进行模板装饰就大量的采用了,而且机制做的非常强大和灵活,模板里面还可以根据不同的条件和参数选择性嵌入更多的模板,模板里面再根据不同的条件在渲染的时候取相应的数据。 所以说你不知道不等于Java做不到。 |
|
返回顶楼 | |
发表时间:2008-09-17
这关php和java语言啥事,都是扩展
|
|
返回顶楼 | |