2016-07-22 6 views
1

JSF 2.1プロジェクトでは、Passing backing bean action to Facelet tag fileで提供されるソリューションを使用してactionListenerを定義するカスタムFaceletタグファイルがあります。条件付きバッキングアクションをFaceletタグファイルに渡す

問題は、タグを使用しているときにではなく、アクションリストを持つです。その解決策では、アクション属性が必須になります。 コードが比較的大きく、メンテナンスの手間がかかりすぎるため、これのためだけに2つのバージョンのタグ(actionListenerの有無にかかわらず)を作成する必要はありません。

JavaコーディングなしでactionListenerを条件付きでタグ実装に追加するにはどうすればよいですか(それが可能な場合でも)。

答えて

0

あなたはthis question

を見ることができます詳細は、私がしたいときのactionListenerメソッドを実行する(ウィッヒイベントに)知っているが、あなたはActionListenerを変更することができますいけない、action属性にEL条件式を使用するカントa4j:あなたは

<ui:param name="parameter" value="#{bean.parameterValue}/> 
<h:inputText> 
     <a4j:support event="onchange" onsubmit="if(checkCondition(parameter))){return true;}" actionListener="#{bean.yourMethod()}"/> 
</h:inputText> 

function checkCondition(parameter){ 
    //your logic 
} 

(ロジックの複雑さに依存する)条件論理のためのJS関数を呼び出すか、単にパラメータに条件を保存することができますサポートタグと次のコードを試してみてください

ホープそれをHEL ps