WEB开发网
开发学院软件开发Java Go-ForIt 记事:eXtreme DragonSlayers 专题报告,... 阅读

Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 8 部分: 陷入多级显示漩涡

 2009-11-06 00:00:00 来源:WEB开发网   
核心提示: 如上图所示,EditPAErrandsServlet 为 PA 从 HttpSession 对象获取 User 对象,Go-ForIt 记事:eXtreme DragonSlayers 专题报告,第 8 部分: 陷入多级显示漩涡(5), EditPAErrandsServlet 检查 HttpS

如上图所示,

EditPAErrandsServlet 为 PA 从 HttpSession 对象获取 User 对象。

EditPAErrandsServlet 检查 HttpSession 对象,确定是否有一列 bean 存储在那里。这个 servlet 在几种情况下被调用。首先是当 PA 选择菜单的 Display Errands 时调用它。此时,还未从数据库检索差事列表,所以没有 ErrandListBean 存储在会话对象中。稍后,当 PA 从列表中选择了差事并对它进行处理之后,控制权返回到这个 servlet 以重新显示这张列表。 此时,列表在会话对象中将是可用的。

在第一次访问时, HttpSession 将返回空,所以 servlet 调用一个会话 bean GetPAErrandsCommandBean 来检索差事列表。会话 bean 请求来自 ErrandsListEJB (它返回一个将以列表形式显示的差事标识数组)的差事结果集。

会话 bean 将 bean ErrandListBean 中的数组返回到 servlet,然后 servlet 将这个 bean 保存在 HttpSession 对象中。我们将它保存在 HttpSession 对象中是为了便于在后来的请求中使用。

EditPAErrandsServlet 实例化一个视图 bean GetErrandListHTMLView ,将 ListErrandBean 传递给构造函数。 GetErrandListHTMLView 生成将列表中每个差事显示为表中一行的 HTML,并保留 HTML 表直到需要该表时。理想情况下,我们希望遵守模型-视图-控制器(model view controller(MVC))范例,尽可能不把 Java 代码放在 JSP 中,并把逻辑放在 servlet(控制器)或会话 bean 中。

我们还试图不在会话 bean 中创建任何“有视图意识的”代码。这使得 Java 程序员能够将注意力集中在业务逻辑上,而不必考虑 UI(及其全部 HTML 和 JSP 等小功能部件)、同时使得界面设计者和实现者能够将注意力集中在如何显示内容上(避开那些讨厌的、不合作的 Java 代码)。这种情况的一个优秀解决方案是视图 bean。视图 bean 将 Java 代码放在 JSP 之外,但与其它的控制器或业务逻辑组件仍是分开的。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Go ForIt 记事

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接