servlet由于打印html代码全部写在class中间,所以代码编写很麻烦,也不便于维护,sun公司才推出了jsp。
但这是否意味着我们在jsp+bean的架构中就不能在bean里面输出html代码呢?
封装在bean里面的并不是要封装所有的打印html语句,对于很多地方类似的东西,封装后会更好的效果。
比如简单的例子,一般系统都需要从数据库中读取一些字段,然后显示出来,并且需要有分页的功能,如果这样全部写在jsp文件里面的,代码就太多了,和asp没有太大分别,不方便维护。
就拿我参与开发的B2B系统来说,很大一部分都是类似的,产品显示、信息显示、订单显示等等,写一个bean可以封装数据的浏览翻页等功能,只需要传递几个字段名字就行了。
<html
<head
<title</title
</head
<body background="images/bg_flower.gif"
<jsp:userBean id="bean"...
<%bean.setField("username,sex,hompage..."); //传递字段
bean.setTable("tablename"); //传的表名
bean.printall(); //调用bean的printall方法来实现数据的显示,并且有分业功能
%
</html
这样开发效率很高,不管多少页面都轻松搞定,要添加一个新的页面,我就修改一下字段名和table名字就行了,用不着每一个地方都需要用一大堆语句来实现数据读取,分页,显示等的功能,而且看上去逻辑也特别清晰。
弊端:灵活性稍微降低
优势:但是维护和管理等都很轻松,如果你觉得以前漏掉了分页的跳转功能,想加入,就不需要更改几十上百个jsp也面中的分也显示代码了,很简单,就修改一个bean的printall方法就行了。