FaceLinkコンポーネントを作成して、h:commandLinkを拡張しました(いくつかの機能と丸みのあるコーナーを追加しました)。それは私にエラー "ApplyBackingプロパティが提出していない" を与えるしかしJSF commandLinkコンポーネントを拡張する
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<span class="btn-left btn-corners"> </span>
<span type="submit" class="submit">
<h:commandLink id="#{id}" value="#{label}" action="#{action}" />
</span>
<span class="btn-right btn-corners"> </span> </ui:composition>
私の新しいコンポーネントが
<my:commandLink id="continue" label="continue" action="#{applyBacking.submit}"/>
とJavaコードを使用してアクセスすることができますが
public String submit(){
...
}
です。 my:commandLinkをレンダリングするときに#{applyBacking.submit}をプロパティに評価しようとしているので、このエラーの原因を理解しています。代わりに、呼び出されるメソッドに関する情報(applyBacking.submit)をテンプレートに渡して、h:commandLinkをレンダリングしながら評価します。
提案がありますか?