当前位置: 首页 > 图文教程 > 网络编程 > JSP > 高级页面流(Page flow):嵌套、异常处理和 Global.app

JSP
JSP动态网站开发环境配置详细方法
解析得到除去标签的txt内容
jsp ${param.id}用法
一个实用的JSP分页代码
jsp hibernate的分页代码
struts2+spring+hibernate分页代码[比较多]
jsp dwr级联效果代码
一个简单的JAVA字符集过滤器实现
纯jsp打造无限层次的树代码
JSP连接MySql/MS SQL Server/Oracle数据库连接方法[整理]
Jsp生成页面验证码的方法[附代码]
通用大型网站页面静态化解决方案
一个通用的jsp分页PageBean
jsp网站永久换域名的处理过程
response.setHeader参数、用法的介绍
解决JSP开发中Web程序显示中文三种方法
jsp hibernate 数据保存操作的原理
jsp Hibernate 函数简介
Hibernate通用数据库操作代码
jsp Hibernate入门教程

JSP 中的 高级页面流(Page flow):嵌套、异常处理和 Global.app


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-03   浏览: 554 ::
收藏到网摘: n/a

基本页面流框架能够为Web项目的一组页面集中管理导航状态和逻辑。尽管这比以往的Web开发模式有了明显的进步,但随着导航逻辑遍布各个页面、状态被存储在众多会话对象当中,某些更高级的页面流特性可以使您的项目更加出色和强大。

本文假定读者熟悉如何在WebLogic Workshop中构建和运行页面流。文中将会介绍三个特性:嵌套、声明性异常处理、Global.app。

嵌套

默认情况下,在一个新页面流中执行动作会导致当前页面流失效,这使得您可以为项目的不同部分创建独立的控制器,并最小化了每次用户会话需要保存的数据量。每个页面流管理它自己的状态和逻辑。在WebLogic Workshop IDE中,将控制权交给另外一个页面流用一个代表外部页面流的暗淡的终端节点表示。


想要更深入地了解高级页面流?请下载 本文附带的作者示例应用。
页面流嵌套使开发人员可以更好地将项目分解成独立的、自包含的功能块。它的核心功能是把当前页面流暂时放在一边,并将控制权交给另外一个页面流,该页面流将来会返回到原来的页面流。

什么时候应该使用页面流嵌套呢?当执行以下任务时嵌套十分有用:

  • 从用户那里搜集用于当前页面流的数据
  • 允许用户改正错误,或在执行特定动作的过程中提供额外信息
  • 为当前页面流中的数据提供另外一种显示视图
  • 显示在当前页面流中有用的用户信息(例如,帮助窗口)
让我们从一个简单的例子开始。在这个场景中,用户被要求选择一种颜色并根据选定的颜色被重定向到不同的页面。如果没有嵌套,页面流(/noNesting/noNestingController.jpf)可能是这样的:


如果颜色选择的部分更为复杂(比如在继续之前需要一个确认过程),就可以采用一个嵌套页面流来替代chooseColor.jsp,它同样可以满足要求(位于/simpleNesting/simpleNestingController.jpf):

嵌套页面流的一个重要特性是它可以替代页面的许多工作。嵌套页面流可以启动动作,甚至可以进行“post”,或者用表单进行初始化。通常,总是可以用嵌套页面流来替代页面。以下是该嵌套页面流的流程视图/chooseColor/chooseColorController.jpf:

该页面流允许用户选择一种颜色,请求确认,然后在原来的页面流上启动一个动作。该页面流出于激活状态时,原来的页面流被保存在用户会话中(位于堆栈中)。当该页面流结束时,被保存的原页面流上的“chooseRed”或“chooseBlue”动作将被激活。

创建和使用嵌套页面流是相当简单的。页面流向导提供了一个“make this a nested page flow”选项,它可以用类一级的注解@jpf:controller将新页面流定义为嵌套页面流:

/**

* @jpf:controller nested="true"

*/

public class chooseColorController extends PageFlowController