2011-08-01 6 views
1

jsf2を使用して単純なコンポジットコンポーネントを作成していますが、愚かな問題のために突っ込んでしまいます。jsf 2.0 - 結果を文字列としてコンポジットコンポーネントに渡す

私はどのようにコマンドラインでアクションとして使用されるパラメータとして結果をコンポジットに送信するのか分かりません。

Exemple:

<!-- Usage --> 
<my:comp myAction="myOutcome" /> 

<!-- Component --> 
<composite:interface> 
    <composite:attribute name="myAction" required="true" /> 
</composite:interface> 

<composite:implementation> 
    <h:form> 
     <h:commandLink action="#{cc.attrs.myAction}" value="Go" /> 
    </h:form> 
</composite:implementation> 

<!-- Expected result --> 
<h:form><h:commandLink action="myOutcome" value="Go" /></h:form> 

私はこのtopic、成功せずに読みました。

<h:commandLink action="#{redirectorBean.go(cc.attrs.myMaction)}" value="Go" />. 

誰かが良い(単純)溶液を用いてこれを実現するために私を助けることができる:

私が見つけた唯一の解決策は、リダイレクターとして管理対象Beanを使用することですか?

はあなたに

答えて

1

ありがとう属性名actionである必要があり、相対のcommandLinkクライアントIDを指し、複合属性のtargets属性を指定する必要があります。

使用法:

<my:comp action="myOutcome" /> 

コンポジットコンポーネント:

<composite:interface> 
    <composite:attribute name="action" targets="form:go" required="true" /> 
</composite:interface> 

<composite:implementation> 
    <h:form id="form"> 
     <h:commandLink id="go" value="Go" /> 
    </h:form> 
</composite:implementation> 
+0

ありがとうございます!私はこの方法を試しましたが、** "フォームなし":**、それは動作しませんでした。 –

+0

ようこそ。 – BalusC

関連する問題