为了演示将 Java 代码加入到标记中清单 中的 JSP 代码片段根据需要动态地添加行以表示 actors 的 Vector 中的每一项
﹤%@ page import=
com
ibm
display
PageUtils
%﹥
﹤%@ page import=comibmdisplayPageInfo %﹥
﹤%@ page import=comibmpeopleActor %﹥
﹤%@ page import=javautilIterator %﹥
﹤%@ page import=javautilVector %﹥
﹤%
PageInfo pageInfo = (PageInfo)sessiongetAttribute(PAGE_DATA)
Vector actors = pageInfogetActors()
%﹥
﹤HTML﹥
﹤HEAD﹥
﹤TITLE﹥
﹤%=pageInfogetTitle()%﹥
﹤/TITLE﹥
﹤/HEAD﹥
﹤BODY﹥
﹤H ALIGN=center﹥Search Results: Actors﹤/H﹥
﹤CENTER﹥
﹤HR width=%﹥
﹤TABLE width=% CELLPADDING= CELLSPACING= border=
bgcolor=#FFFFCC﹥
﹤%
for (Iterator i = actorsiterator(); ihasNext()) {
Actor actor = (Actor)inext();
%﹥
﹤TR BGCOLOR=#FFCCCC﹥
﹤TH width=% ALIGN=center﹥
﹤%=actorgetLastName()%﹥
﹤/TH﹥
﹤TH width=% ALIGN=center﹥
﹤%=actorgetFirstName()%﹥
﹤/TH﹥
﹤/TR﹥
﹤%
}
%﹥
﹤/TABLE﹥
﹤/CENTER﹥
﹤/BODY﹥
﹤/HTML﹥
注意目前为止我仅仅介绍了 JSP 技术的最初设计目标在下一节介绍 JSP 技术存在的问题之后我将对这个目标作出自己的论断不过您可能已经开始有点好奇因为将代码嵌入到 JSP 页面中似乎与 JSP 技术的首要目标(分离内容和表示)有所沖突实际上我还没有就此展开论述
设计师和开发人员
JSP 技术的最终(也是值得称赞)的目标是它尝试在应用程序开发过程中形成清晰定义的角色通过在表面上分离内容和表示JSP 技术能够更加清晰地区分设计师和开发人员角色设计师使用标准的 HTMLWML 或其他合适的语言创建标记而开发人员编写代码当然如今很多设计师学习了 JavaScript 语言因此这些设计师开始学习 JSP 编码也不是什么令人吃惊的事情通常设计师并不会单纯地创建纯标记他们会编写一个完整的 JSP 页面并将其交给开发人员然后经过频繁的修改开发人员再将 JSP 页面作为完整应用程序的前端使用但是这里的关键问题是仍然有很多设计师没有 学习 JSP 编码他们也必须能够在这种环境下工作
出现的问题
我刚刚介绍了一种良好的表示技术应该提供的功能以及 JSP 技术尝试解决的具体问题现在我将转入正题JSP 技术虽然建立在良好理念的基础之上但是却出现了一些问题在选择 JSP 编写您的应用程序之前(您可能仍然会这样做)至少应该注意一些容易出现的问题
您还需要注意经常被忽略的 JEE 编程平台仅仅因为平台附带了 API 并不意味着一定要使用它和这种想法同样可笑的是很多开发人员在使用 JSPEJB 或 JMS API 时都在想如果不使用这些 API 的话他们的应用程序就不是真正的 JEE 应用程序 了实际上平台提供的 API 远远超过大多数应用程序的需要如果您不能使用或对 JSP 技术还持有怀疑态度那么可以不使用它!在选择 JSP 编写应用程序之前仔细研究它的优点和 缺点让我们看看其中一些缺点
[] [] [] [] [] []