我創建了一個用於xhtml視圖的自定義組件,它使用Netbeans8.1和glassfish4.1在JSF 2.1中使用屬性值並打印它(如下面的代碼中的helloworld)。我通過擴展UIComponentBase重寫的家族創建了一個自定義組件,並通過擴展UIComponentELTag覆蓋componentType和rendererType方法來對開始和自定義組件標記類進行編碼。我爲它定義了一個標籤庫test.taglib.xml,並將其註冊到web.xml中。JSF2自定義組件問題
以下是查看代碼。
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:body>
<h2>JSF Custom Input FacesComponent Example</h2>
<h:form>
<ui:composition
xmlns:custom="http://packt.net/cookbook/components"
xmlns:ui="http://java.sun.com/jsf/facelets">
<custom:testInput helloworld="test component!!"/>
</ui:composition>
</h:form>
</h:body>
</html>
的問題是 - 它只是顯示HTML價值,不顯示自定義組件的屬性值。
同樣的例子適用於當我嘗試jsp視圖(與tld文件)。
我嘗試使用自定義組件標記直接或作爲用戶界面的組成部分,但沒有運氣。
我在自定義組件中放置了一個斷點,並試圖進行調試,但控制甚至沒有進入斷點。
由於控件不會出現斷點,所以這意味着我的自定義組件沒有被servlet註冊?如果是這樣,請告訴我我做錯了什麼。
我是JSF的新手,所以請告訴我,如果我錯過任何一點。
我試着與JSF2.2.7相同,但也表現出同樣的問題。