我試圖創建基於BalusC's excellent article的複合材料組件。 我無法從支持組件獲取屬性或任何值。代碼:複合材料和cc之間的JSF2區別
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:composite="http://java.sun.com/jsf/composite">
<composite:interface componentType="test">
<composite:attribute name="something" />
</composite:interface>
<composite:implementation>
<h:outputText value="#{composite.attrs.something}" />
<h:outputText value="#{composite.hello}" />
</composite:implementation>
</html>
我發現相同的代碼工作,然後我使用「cc」命名空間,而不是「複合」。代碼:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:cc="http://java.sun.com/jsf/composite">
<cc:interface componentType="test">
<cc:attribute name="something" />
</cc:interface>
<cc:implementation>
<h:outputText value="#{cc.attrs.something}" />
<h:outputText value="#{cc.hello}" />
</cc:implementation>
</html>
的問題是,爲什麼不與「複合」的命名空間的工作呢? 我找不到任何「複合」是JSF保留字或其他信息的信息。
謝謝。
哦,我明白了。感謝您的解釋。你是我們的JSF英雄;)。 – miro
不客氣。 – BalusC
也感謝註釋。 –
miro