注册 | 登录 | 设为首页 | 加入收藏
您当前的位置:飞翔学院-IT中国 → 编程开发JSP → 文章内容

Geronimo 叛逆者: 直面 JSF

作者:佚名 来源:不详 发布时间:2007-11-30 0:04:54

  摘要:

    我想了解的第一个问题是 Apache Geronimo 为什么首先关注 Apache MyFaces。Tim 解释说它是从 Java™ 2 Platform, Enterprise Edition (J2EE) 1.4 向 Java Platform, Enterprise Edition (Java EE) 5 移植的一部分。“Geronimo 已经是 J2EE 1.4 兼容的应用服务器,但是属于 1.5 规范,需要支持 JSF,而我们提供支持的方法是使用 Apache MyFaces”。在上一期 “Geronimo 叛逆者” 专栏文章中,我想知道 Spring 最重要的功能是什么,当我继续探究下去时,我开玩笑说现在需要有个人来告诉我为什么 JavaServer Faces (JSF) 这样火爆。您不知道,摆在我桌面上的下一件事就是需要 Apache Geronimo 和 Apache MyFaces 之间进行交互,主要集中在其 JSF 的实现。嗯,现在变成一件好事了。我与 IBM® 的 Tim McConnell 进行了一次会谈,他目前正在将 Geronimo 与 MyFaces 集成,我了解到了比预期多得多的关于实际上怎样实现此类规范的内容。

  什么是 Apache MyFaces?

    我想了解的第一个问题是 Apache Geronimo 为什么首先关注 Apache MyFaces。Tim 解释说它是从 Java™ 2 Platform, Enterprise Edition (J2EE) 1.4 向 Java Platform, Enterprise Edition (Java EE) 5 移植的一部分。“Geronimo 已经是 J2EE 1.4 兼容的应用服务器,但是属于 1.5 规范,需要支持 JSF,而我们提供支持的方法是使用 Apache MyFaces”。

    我很好奇。在这里,我们认为有一项技术非常重要,实际上它已添加到了 Java EE 规范中。但它究竟是什么?Tim 告诉我 “JSF 背后的理念就是使您可以更轻松地进行 Web 应用程序开发。它是按照 Model-View-Controller (MVC) 范例建立的模型。它实际上差不多就是该范例的实现。那就是其背后的实际想法。很多没做过 Web 开发的人仍十分熟悉 MVC,因此他们可以快速地更高效地获取并学习 JSF 以及开发 Web 应用程序”。

    那听起来很合理,但事情应该不止于此。因此我开始研究 JSF 到底是什么。我发现,为避免使用 JSF 而给自己带来了相当多的麻烦。

    如果参与过 Java Web 开发,那么您应该已经了解 JavaServer Page (JSP)。这些是可以将 Java 代码直接嵌入到 HTML 中并且相应地执行的页面。但是更重要的是,JSP 使您可以创建表示 Java 代码的自定义标记。从服务器性能角度来看,这不但更高效,而且具有更高的可维护性,还使非技术人员能够编辑页面。

    JSF 将此过程进一步加以推广。它涉及了人们在 Web 编程中常用的元素 —— 主要是表单,还包括预制的组件(那些我曾谈及的自定义标记)来帮助您完成任务。(MyFaces 还包括成百上千个附加组件可以用于添加功能)。例如,考虑清单 1 中所示的 JSF 表单。

清单 1. JSP

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
.....
   <f:view>
     <h1>
      <h:outputText value="Login"/>
     </h1>
     <h:form id="loginForm">
      <h:outputText value="Username: "/>
      <h:inputText value="#{userBean.username}" />
      <br />
      <h:outputText value="Password: "/>
      <h:inputText value="#{userBean.password}" />

      <h:commandButton action="login" value="Log In" />
      <h:commandButton action="register" value="Register a new account" />
     </h:form>
   </f:view>
.....


[1] [2] [3] [4]  下一页


  • 打印文档
  • 推荐好友
  • 返回顶部
  • 增大字体
  • 减少字体
关于本站 | 工作机会 | 合作网站 | 广告服务 | 市场合作| 联系我们 | 抽奖活动
版权所有: 武汉威俊科技有限公司 Copyright 2005-2007 www.ITCNW.COM All rights reserved