自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JSF標記與JSTL標記混合使用

開發(fā) 后端
本文介紹JSF標記與JSTL標記混合使用,以及Oracle的 JDeveloper 讓你混合和配合使用,但也鼓勵使用純JSF標記。

所有談到的JSF定制標記庫都是不錯的,但是,如果我有自己的定制標記,或有第三方的標記庫應該怎么辦?或者我要使用JSP標準標記庫 (JSTL)?它是一組能做我們剛提到的所有事情的標記庫。在極大程度上,這些標記能與JSF標記混合使用。 Faces標記能在其它標記的內部嵌套使用,反之亦然。 一些產(chǎn)品,象IBM的 WebSphere Application Developer, 鼓勵這種方法。其它的如 Sun的 Java Creator Studio則選擇純的JSF標記,另一方面,Oracle的 JDeveloper 讓你混合和配合使用,但也鼓勵使用純JSF標記。

注意: 無論何時,你將JSF 標記嵌套在非JSF定制標記內時,你必須分派一個組件標識符到JSF 標記。 因為JSTL 是標準的并且許多人熟悉它,我們將用它示范如何將它與 JSF定制標記一起使用。 (如果你想全面了解JSTL, 請看 Shawn Bayern寫的一本極好的書, JSTL in Action.) 讓我們從簡單的例子開始 JSTL 標記和 JSF 標記混合和配合使用。代碼引入了兩個 JSF 標記庫和核心 JSTL 標記庫。

JSTL 標記與 JSF 標記混合使用
代碼內容

  1. <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 
  2. <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> 
  3. <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> 
  4. <html> 
  5. <head> 
  6. <title>JSF in Action: JSTL Example 1 - Mixing JSF with other custom tags</title> 
  7. </head> 
  8. <body bgcolor="#FFFFFF"> 
  9. <f:view> 
  10. <h1> 
  11. <h:outputText value="Example of using JSF tags with other custom tags"/> 
  12. </h1> 
  13. <p> 
  14. <b> 
  15. <c:out value="Here’s the value of your web.xml (don’t do this at home):"/> 
  16. </b> 
  17. <blockquote> 
  18. <f:verbatim> 
  19. <c:import url="WEB-INF/web.xml"/> 
  20. </f:verbatim> 
  21. </blockquote> 
  22. </p> 
  23. </f:view> 
  24. </body> 
  25. </html></code>  

在這個例子里, JSTL 和JSF 標記嵌套在 JSF標記 <f:view>內, <f:view>定義了JSF組件樹的開始。這個例子使用了 JSF 的h標記 (<h:outputText>) 和JSTL <c:out> 標記顯示文本。 在這個頁面內,JSTL <c:import> 標記包含系統(tǒng)的 web.xml 文件 (這不是你想與其它人共享文件的正確方法,所以,不要在一臺真實的服務器上這樣做). 因為 web.xml 是一個XML 文件, <c:import>標記要嵌套在<f:verbatim> 內, <f:verbatim>是一個 JSF UIOutput組件并且繪制時轉義XML元素,所以能在HTML頁內正確顯示。這個例子沒有太多的內容,但它示范了在同一頁面內不同的標記能一起使用。注意我們把JSTL 標記嵌套在 JSF <f:verbatim> 標記內,一般而言,它比將 JSF 標記嵌套在其它標記內容易。事實上,任何有子組件的組件如 HtmlDataTable和 HtmlPanelGrid需要將模板文本嵌套在一個<f:verbatim> 標記內。 JSTL 標記與 JSF 標記一起使用使JSF變得更強大,這兩者都使用類似的表達式語言。 (對 JSP 2.0’s 表達式也是如此l). 這允許你以一種直觀的方式在JSTL 和 JSF 標記間共享數(shù)據(jù)。 這里舉例說明這一點,讓我們看另一個例子, 它允許用戶在 HtmlInputText 控件中輸入一個值,然后利用這個值用 JSTL <c:forEach>標記重復輸出一個字符串。

JSF 、JSTL 標記和同一個 backing bean
代碼內容

  1. <f:view> 
  2. <jsp:useBean class="org.jia.examples.TestForm" id="exampleBean" scope="session"/> 
  3. <h1> 
  4. <h:outputText value="Example of using JSF and JSTL expression languages"/> 
  5. </h1> 
  6. <h:form> 
  7. <h:outputLabel for="inputInt"> 
  8. <h:outputText value="How many times do you want to repeat the Oracle’s prophecy?"/> 
  9. </h:outputLabel> 
  10. <h:inputText id="inputInt" value="#{sessionScope.exampleBean.number}"/> 
  11. <h:commandButton value="Go!"/> 
  12. <p> 
  13. <c:if test="${sessionScope.exampleBean.number > 0}"> 
  14. <c:forEach begin="0" end="${sessionScope.exampleBean.number - 1}" var="count"> 
  15. Queen Tracey will achieve world domination.<br> 
  16. </c:forEach> 
  17. </c:if> 
  18. </p> 
  19. </h:form> 
  20. ...  
  21. </f:view> 
  22. ...  

 

【編輯推薦】

  1. 使JSF支持帶有HTMLMessage
  2. 利用JSF和Hibernate構建Web應用
  3. 比較JSF、Spring MVC、Stripes、Struts 2、Tapestry、Wicket
  4. JSF能否拯救WEB
  5. 各種JSF框架比較
責任編輯:佚名 來源: JavaEye
相關推薦

2009-08-03 09:15:39

JSP標準標記庫JSTL

2009-07-07 14:33:44

JSP入門

2021-09-28 07:48:54

prometheus監(jiān)控遠端服務

2024-10-08 08:36:50

HTML標簽前端

2010-07-06 16:26:33

2009-07-03 09:08:23

JSP標記學習筆記

2009-07-03 09:08:23

JSP標記學習筆記

2013-03-25 09:25:48

OpenStack公有云Nova

2010-08-18 13:23:36

FirefoxHTML

2021-08-16 10:35:52

JVM標記法屏障

2010-01-20 17:41:13

VB.NET標記語句

2010-02-23 13:36:42

WCF DataCon

2009-11-30 16:24:24

PHP腳本

2009-09-04 14:14:55

C#文檔

2010-08-27 15:16:26

htmlbodyCSS

2023-08-08 10:19:53

文檔標記語言

2020-07-09 15:45:22

GoGC內存

2009-03-16 15:07:20

JSP分頁window.openJSP表單

2013-04-23 16:59:22

Windows Pho路徑標記語法

2011-05-05 09:36:48

Oracle安全標記
點贊
收藏

51CTO技術棧公眾號