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

Go-ForIt 记事:eXtreme DragonSlayer 专题报告,第 5 部分: 视图 bean:将 Java 代码与 JSP 组件分离

 2009-11-06 00:00:00 来源:WEB开发网   
核心提示: 视图控制器模型示例JSP 中无 Java 代码!MVC 听起来很好,对吗?实际上,Go-ForIt 记事:eXtreme DragonSlayer 专题报告,第 5 部分: 视图 bean:将 Java 代码与 JSP 组件分离(2),它很难彻底分开各层,特别是涉及到视图时,沿着一条不确定的路径


视图控制器模型示例
Go-ForIt 记事:eXtreme DragonSlayer 专题报告,第 5 部分: 视图 bean:将 Java 代码与 JSP 组件分离

JSP 中无 Java 代码!

MVC 听起来很好,对吗?实际上,它很难彻底分开各层,特别是涉及到视图时。视图经常(特别是当您处理表单数据时)要求一些逻辑来根据用户操作和某些条件显示正确的内容。 然而 MVC 要求视图组件,比如 JSP 与逻辑无关。在 Go-ForIt 项目中我们几乎是马上就遇到了这种左右为难的困境。

和许多应用一样,Go-ForIt 用户必须首先注册。我们的注册 JSP 页包含一个收集必要信息的表单。 此页面使用 JavaScript 进行一些客户端验证,然后提交表单以供处理。一个成功的注册会返回一条确认消息并指导用户转到适当的菜单页。

当表单处理发生错误时会怎样?我们假设一个用户试图用重复的用户标识进行注册。 当表单处理过程中发生这种问题时,我们希望发生以下几件事情:

让用户返回注册页面,并且页面顶部显示一条详细的出错消息。

用原来已经输入的数据预先填充表单,这样用户就不必重新输入每个数据项了。

HTML 表单域并非全部等同地被创建。在表单被提交并被返回以便修正错误后必需一个小逻辑来预先填充某些类型的域。在我们的例子中,我们有几个下拉列表框和复选框,它们需要一些逻辑来预先填充数据。起先,我们将“if...else”语句放入我们的 JSP 中,沿着一条不确定的路径开始。但是当我们的首席体系架构设计师(Lead Architect)无意中听到我们天真地谈论如何在 JSP 中编写所有的表示逻辑时,他说“JSP 中不准使用 Java 代码!”我们的常驻 MVC 斗士已经颁发了这条命令。

上一页  1 2 3 4 5 6 7  下一页

Tags:Go ForIt 记事

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