WEB开发网
开发学院软件开发Java Geronimo 叛逆者: 使用集成程序包:GlassFish JST... 阅读

Geronimo 叛逆者: 使用集成程序包:GlassFish JSTL 1.2 和 Apache Geronimo 2.0

 2009-11-11 00:00:00 来源:WEB开发网   
核心提示: 注意我们是如何将 dataTable 绑定到 Java 对象的,然后,Geronimo 叛逆者: 使用集成程序包:GlassFish JSTL 1.2 和 Apache Geronimo 2.0(8),我们只需定义表的列,组件自己知道迭代表的行,JSTL 和 JSF 所使用的 EL 便合为一体,

注意我们是如何将 dataTable 绑定到 Java 对象的。然后,我们只需定义表的列,组件自己知道迭代表的行。我们假定使用该数据创建了一个托管的后台 bean (backing bean)(UserBean)。 dataTable 组件将为我们创建 HTML,因此无需为表指定任何 HTML。这是 JSF 的优势之一。

JSF 和 JSP 1.2

JSF 一直都在使用 JSP 技术。但是,当引入 JSF 时,JSP 1.2 是 JSP 技术使用最为广泛的一个版本。因此 JSF 基于 JSP 1.2,这样 JSF 便不支持 JSTL 和 EL。您可能已经注意到了 <h:dataTable> 和 <h:outputText> 的值属性。它们看上去类似于 JSTL 所使用的 EL。但是,在 JSF 1.0 中,它们只是表面相同。JSF 拥有自己的 EL,其工作原理与 JSTL 中引入的 EL 极为相似,并且随后成为 JSP 技术的一部分。但是,JSF EL 与 JSTL EL 并不兼容 — 直到现在。

统一表达式语言

Java EE 5 的关键点之一就是统一表达式语言。这样,JSTL 和 JSF 所使用的 EL 便合为一体。现在已经可以将 JSTL 和 JSF 混合在一起了,如清单 8 所示。


清单 8. JSF 和 JSTL 混合
   <f:view> 
     <c:forEach items="${UserBean.groups}" var="group"> 
        ${group.groupName} 
        <h:dataTable id="#{group.groupId}" value="#{group.users}" 
  var="user"> 
         <h:column> 
          <f:facet name="header">UserID</f:facet> 
          ${user.id} 
         </h:column> 
         <h:column> 
          <f:facet name="header">UserName</f:facet> 
          ${user.userName} 
         </h:column> 
         <h:column> 
          <f:facet name="header">Name</f:facet> 
          ${user.firstName} ${user.lastName}" 
         </h:column> 
        </h:dataTable>      
     </c:forEach> 
   </f:view> 

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

Tags:Geronimo 叛逆者 使用

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