您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“JSF標記與JSTL標記如何混合使用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“JSF標記與JSTL標記如何混合使用”這篇文章吧。
所有談到的JSF定制標記庫都是不錯的,但是,如果我有自己的定制標記,或有第三方的標記庫應該怎么辦?或者我要使用JSP標準標記庫 (JSTL)?它是一組能做我們剛提到的所有事情的標記庫。在極大程度上,這些標記能與JSF標記混合使用。 Faces標記能在其它標記的內部嵌套使用,反之亦然。 一些產品,象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 標記混合使用
代碼內容
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<html>
<head>
<title>JSF in Action: JSTL Example 1 - Mixing JSF with other custom tags</title>
</head>
<body bgcolor="#FFFFFF">
<f:view>
<h2>
<h:outputText value="Example of using JSF tags with other custom tags"/>
</h2>
<p>
<b>
<c:out value="Here’s the value of your web.xml (don’t do this at home):"/>
</b>
<blockquote>
<f:verbatim>
<c:import url="WEB-INF/web.xml"/>
</f:verbatim>
</blockquote>
</p>
</f:view>
</body>
</html></code>
在這個例子里, JSTL 和JSF 標記嵌套在 JSF標記 <f:view>內, <f:view>定義了JSF組件樹的開始。這個例子使用了 JSF 的h標記 (<h:outputText>) 和JSTL <c:out> 標記顯示文本。 在這個頁面內,JSTL <c:import> 標記包含系統的 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 標記間共享數據。 這里舉例說明這一點,讓我們看另一個例子, 它允許用戶在 HtmlInputText 控件中輸入一個值,然后利用這個值用 JSTL <c:forEach>標記重復輸出一個字符串。
JSF 、JSTL 標記和同一個 backing bean
代碼內容
<f:view>
<jsp:useBean class="org.jia.examples.TestForm" id="exampleBean" scope="session"/>
<h2>
<h:outputText value="Example of using JSF and JSTL expression languages"/>
</h2>
<h:form>
<h:outputLabel for="inputInt">
<h:outputText value="How many times do you want to repeat the Oracle’s prophecy?"/>
</h:outputLabel>
<h:inputText id="inputInt" value="#{sessionScope.exampleBean.number}"/>
<h:commandButton value="Go!"/>
<p>
<c:if test="${sessionScope.exampleBean.number > 0}">
<c:forEach begin="0" end="${sessionScope.exampleBean.number - 1}" var="count">
Queen Tracey will achieve world domination.<br>
</c:forEach>
</c:if>
</p>
</h:form>
...
</f:view>
...
以上是“JSF標記與JSTL標記如何混合使用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。