現在、私は、JavaServer Faces 2.0とFaceletsのビューテクノロジーを教育目的で実装しようとしています。私はfaceletテンプレート、faceletカスタムコンポーネントを作成し、いくつかのfacelet "テンプレート"クライアントを作成しました。しかし、一つのことで私は立ち往生しています。私は動的にコントロールをロードすることはできませんとcc:attributes
を入れます。Java Facelets動的ローディングとコンポジットコンポーネントの属性
たとえば静的なテキストのページがある場合や、ManagedBeanとバインドしている場合は、プロパティui:include
はすべて正常に動作します。
<!-- NO INTERFACE -->
<cc:interface>
</cc:interface>
<!-- IMPLEMENTATION -->
<cc:implementation>
<!-- This is a very simply scaffolding for Category Three Control.
-->
<p:tree value="#{TreeBean.root}" var="node"
expandAnim="FADE_IN" collapseAnim="FADE_OUT">
<p:treeNode>
<h:outputText value="#{node}" />
</p:treeNode>
</p:tree>
</cc:implementation>
しかし、私はcc:attribute
と制御へui:include
ポイントは、私が初期化する方法がわからないときに問題があります。ここでは
<ui:define name="right-column">
right-column asd
<h:link outcome="asdf" value="link_get">
<f:param name="aa" value="123" />
<f:param name="a" value="123 dd + 20" />
</h:link>
<h:commandLink action="asdf?faces-redirect=true" value="asdf">
<f:param name="aa" value="123" />
</h:commandLink><br />
<ui:include src="./resources/Controls/CategoryTree.xhtml"/><br />
This works even if I put src with MenageBean property.
<ui:include src="#{browseProducts.incudePath}"/>
</ui:define>
が私にfacelet制御である(データバインディング
#{TreeBean.root}
以内にこのコントロールの内部にあります。 。
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
template="./resources/layout/Template.xhtml"
xmlns:sc="http://java.sun.com/jsf/composite/Controls">
<ui:define name="right-column">
<sc:dummy ItemCount="10" />
<ui:include src="./resources/Controls/dummy.xhtml" />
</ui:define>
</ui:composition>
01:Beanをバックアップおよび「もの」を行うから、この属性例えば
私はこのページを持っています
<cc:interface>
<cc:attribute name="ItemCount" required="true"
shortDescription="This attribute is meaningful " />
</cc:interface>
<!-- IMPLEMENTATION -->
<cc:implementation>
<!-- How to pass ItemCount to my dummy bean to create so many items in
list as ItemCount value -->
<ui:repeat value="#{dummy.dummyList}" var="dummyItem">
<h:outputText value="#{dummyItem}" />
</ui:repeat>
</cc:implementation>
とバッキングBeanコード:
public ArrayList<String> getDummyList() {
//Here I try to get dummy list work.
dummyList = new ArrayList<String>(getDummyCount());
for (int i=0;i< getDummyCount();i++){
dummyList.add(i + "" + i);
}
return dummyList;
}
はどのようにこれを行うことができます。ここ
は、複合コントロールを行きますか? 、JSF 2は、インクルードされたページの場合1.
にいくつかのパラメータを指定する複合部品
- :
問題のお手伝いをありがとう。私は時間を見つけるときこれをチェックします:-) –